CN117675238A - 数据访问方法、装置、电子设备及存储介质 - Google Patents

数据访问方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117675238A
CN117675238A CN202211014767.0A CN202211014767A CN117675238A CN 117675238 A CN117675238 A CN 117675238A CN 202211014767 A CN202211014767 A CN 202211014767A CN 117675238 A CN117675238 A CN 117675238A
Authority
CN
China
Prior art keywords
data access
resource
terminal
data
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211014767.0A
Other languages
English (en)
Inventor
董志强
谢飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Cloud Computing Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Cloud Computing Beijing Co Ltd
Priority to CN202211014767.0A priority Critical patent/CN117675238A/zh
Publication of CN117675238A publication Critical patent/CN117675238A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及计算机技术领域,提供数据访问方法、装置、电子设备及存储介质,用以提高提升页面访问过程中终端设备的安全性,该方法可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,该方法包括:接收到数据访问终端发送的数据访问请求后,在经安全加固处理的可被攻击环境中,将数据访问请求发送至资源服务器,并接收资源服务器返回的目标访问数据的原始访问资源;对原始访问资源进行无害化解析处理,得到无害化访问资源;对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源;将展示资源发送至数据访问终端进行执行和展示。

Description

数据访问方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,提供数据访问方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的快速发展,越来越多的场景需要获取网页内容(即页面),例如,在应用程序内部展示页面或通过浏览器展示页面。
相关技术中,页面获取过程通常为:终端设备向资源服务器发送数据访问请求,资源服务器根据数据访问请求,将终端设备所要访问的目标页面的资源文件,返回给终端设备,进而,终端设备对资源文件进行页面解析和页面渲染,获得并呈现目标页面。
然而,在资源服务器为异常服务器、资源服务器返回的资源文件存在安全隐患等情况下,如果直接访问资源服务器或者直接接收资源服务器返回的资源文件,那么终端设备将存在被攻击的风险,难以保证终端设备的安全性。
发明内容
本申请实施例提供数据访问方法、装置、电子设备及存储介质,用以提升页面访问过程中终端设备的安全性。
第一方面,本申请实施例提供一种数据访问方法,所述方法包括:
接收数据访问终端发送的数据访问请求,其中,所述数据访问请求中携带目标访问数据的访问标识;
在经安全加固处理的可被攻击环境中,将所述数据访问请求发送至资源服务器,并接收所述资源服务器返回的所述目标访问数据的原始访问资源;
对所述原始访问资源进行无害化解析处理,得到无害化访问资源;
对所述无害化访问资源进行可视化渲染处理,得到支持所述数据访问终端执行的展示资源;
将所述展示资源发送至所述数据访问终端,以使所述数据访问终端通过执行所述展示资源,展示所述目标访问数据。
第二方面,本申请实施例提供一种数据访问装置,包括:
接收单元,用于接收数据访问终端发送的数据访问请求,其中,所述数据访问请求中携带目标访问数据的访问标识;
转发单元,用于在经安全加固处理的可被攻击环境中,将所述数据访问请求发送至资源服务器,并接收所述资源服务器返回的所述目标访问数据对应的原始访问资源;
无害化解析单元,用于对所述原始访问资源进行无害化解析处理,得到无害化访问资源;
渲染处理单元,用于对所述无害化访问资源进行可视化渲染处理,得到支持所述数据访问终端执行的展示资源;
发送单元,用于将所述展示资源发送至所述数据访问终端,以使所述数据访问终端通过所述展示资源,展示所述目标访问数据。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一方面所述的数据访问方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任一方面所述的数据访问方法的步骤。
第五方面,本申请实施例提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质中读取并执行所述计算机程序,使得电子设备执行上述任一方面所述的数据访问方法的步骤。
本申请实施例中,接收到数据访问终端发送的数据访问请求后,在经安全加固处理的可被攻击环境中,将数据访问请求发送至资源服务器,并接收资源服务器返回的目标访问数据的原始访问资源;对原始访问资源进行无害化解析处理,得到无害化访问资源;对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源;将展示资源发送至数据访问终端,以使数据访问终端通过执行展示资源,展示目标访问数据。
由于页面解析是漏洞出现的主要环节,因此,本申请实施例中,通过对原始访问资源进行无害化解析处理,得到无害化访问资源,然后对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源,一方面,避免了数据访问终端因页面解析存在漏洞出现安全问题,提升了数据访问终端的安全性,另一方面,相对数据访问终端而言,由于在经安全加固处理的可被攻击环境中进行数据处理,因此,即便因页面解析环节存在漏洞导致被攻击,也可以保证代理服务器的安全运行。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1A为一种应用场景的示意图;
图1B为本申请实施例中提供的一种应用场景的示意图;
图2为本申请实施例中提供的一种数据访问系统中各设备的交互示意图;
图3为本申请实施例中提供的一种数据访问方法的流程示意图;
图4为本申请实施例中提供的一种目标对象输入URL的示意图;
图5为本申请实施例中提供的一种获得待渲染数据的流程示意图;
图6为本申请实施例中提供的一种DOM树的结构示意图;
图7为本申请实施例中提供的一种目标页面的示意图;
图8为本申请实施例中提供的一种数据访问过程的逻辑示意图;
图9为本申请实施例中提供的数据访问终端、代理服务器、资源服务器之间的交互示意图;
图10为本申请实施例中提供的一种手机浏览器场景下的数据访问过程的逻辑示意图;
图11为本申请实施例中提供的一种远程桌面连接场景下的数据访问过程的逻辑示意图;
图12为本申请实施例中提供的一种数据访问装置的结构示意图;
图13为本申请实施例中提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面,先对本申请中涉及的部分名称进行说明。
渲染(Renderer)进程:用于实现浏览器的页面解析、页面渲染、展示的进程。
光栅化(Rasterization):用于将图转化为一个个栅格组成的图像,是图像显示前的一个处理过程。
相关技术中,参阅图1A所示,页面获取过程通常为:
S101、数据访问终端向资源服务器发送页面访问请求;
S102、资源服务器向数据访问终端返回访问响应,访问响应中携带目标页面的资源;
S103、数据访问终端对资源进行页面解析和页面渲染,获得并呈现目标页面。
然而,在资源服务器为异常服务器、资源服务器返回的资源存在安全隐患等情况下,如果直接访问资源服务器或者直接接收资源服务器返回的资源,那么终端设备将存在被攻击的风险,难以保证终端设备的安全性。
本申请实施例中,接收到数据访问终端发送的数据访问请求后,在经安全加固处理的可被攻击环境中,将数据访问请求发送至资源服务器,并接收资源服务器返回的目标访问数据的原始访问资源;对原始访问资源进行无害化解析处理,得到无害化访问资源;对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源;将展示资源发送至数据访问终端,以使数据访问终端通过执行展示资源,展示目标访问数据。
由于页面解析是漏洞出现的主要环节,因此,本申请实施例中,通过对原始访问资源进行无害化解析处理,得到无害化访问资源,然后对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源,一方面,避免了数据访问终端因页面解析存在漏洞出现安全问题,提升了数据访问终端的安全性,另一方面,相对数据访问终端而言,由于在经安全加固处理的可被攻击环境中进行数据处理,因此,即便因页面解析环节存在漏洞导致被攻击,也可以保证代理服务器的安全运行。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请实施例及实施例中的特征可以相互组合。
参阅图1B所示,其为本申请实施例中提供的一种可能的应用场景的示意图。该应用场景中至少包括数据访问终端110、代理装置120以及资源服务器130。数据访问终端110、代理装置120以及资源服务器130的数量均可以是一个或多个,本申请对数据访问终端110、代理装置120以及资源服务器130的数量不做具体限定。
本申请实施例中,数据访问终端110可以是手机、电脑、智能语音交互设备、笔记本电脑、台式计算机、智能音箱、智能手表、物联网设备、智能家电、车载终端、飞行器等,但并不局限于此。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
代理装置120可以是服务器,也可以是终端设备,本文中仅以代理装置120是服务器为例进行说明。当代理装置120是服务器时,代理装置120也可以称为代理服务器。
代理服务器和资源服务器130均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
数据访问终端110、代理装置120以及资源服务器130之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
数据访问终端110、代理装置120中均安装有浏览器。数据访问终端110中安装的浏览器可以称为客户端浏览器。代理装置120中安装的浏览器可以称为服务器端浏览器。服务器端浏览器用于实现页面解析,客户端浏览器用于实现页面渲染。在一些实施例中,资源服务器120中包含Web资源,Web资源包括但不限于图片、文本、视频等任意在页面上所呈现的内容。
参阅图2所示,其为本申请实施例中提供的一种数据访问系统中数据访问终端、代理服务器和资源服务器之间的交互示意图,具体交互流程如下:
S201、数据访问终端将数据访问请求发送至代理服务器,数据访问请求中携带目标访问数据的访问标识。访问数据可以但不限于是指页面。
S202、代理服务器将数据访问请求发送至资源服务器。需要说明的是,代理服务器的运行环境为经安全加固处理的可被攻击环境,也就是说,代理服务器工作在经安全加固处理的可被攻击环境中。
S203、代理服务器接收资源服务器返回的目标访问数据的原始访问资源。
S204、代理服务器对原始访问资源进行无害化解析处理,得到无害化访问资源,并对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源。
S205、代理服务器将展示资源发送至数据访问终端。
S206、数据访问终端通过执行展示资源,展示目标访问数据。
参阅图3所示,其为本申请实施例中提供的一种数据访问方法的流程示意图,应用于代理装置120,下面以代理装置120是代理服务器为例进行说明,该方法的具体流程如下:
S301、代理服务器接收来自数据访问终端的数据访问请求,数据访问请求中携带目标访问数据的访问标识。
本申请实施例中,仅以目标访问数据是目标页面为例进行说明。访问标识可以采用但不限于统一资源定位符(Uniform Resource Locator,URL),URL用于指示Web资源的位置。URL中通常包含协议、服务器地址。协议部分用于指示支持的网络协议,网络协议包括但不限于超文本传输协议(Hyper Text Transfer Protocol,HTTP)协议。服务器地址可以采用域名,也可以采用网际互连协议(Internet Protocol,IP)地址,由于IP地址不便于记忆,URL中一般采用域名。
本申请实施例中,数据访问终端可以在目标对象输入目标页面的访问标识时,生成数据访问请求,或者在目标对象点击可跳转链接时,生成数据访问请求,但不局限于此。
例如,参阅图4所述,目标对象在浏览器的搜索栏中输入目标页面的URL,目标页面的URL为:http://www.AABBCC.com,数据访问终端生成数据访问请求,数据访问请求中包含的URL为:http://www.AABBCC.com,然后,数据访问终端将数据访问请求发送给代理服务器。
S302、代理服务器在经安全加固处理的可被攻击环境中,将数据访问请求发送至资源服务器,并接收资源服务器返回的目标访问数据的原始访问资源。
本申请实施例中,代理服务器处于经安全加固处理的可被攻击环境,安全加固可以采用但不限于多进程机制、沙箱机制、漏洞缓解技术(Mitigation)等。进一步的,代理服务器中还可以增加日志系统,对客户端浏览器的访问记录、访问流量等进行记录和分析,从而提高代理服务器的安全性。
一般而言,目标网页通常可以表现为超文本标记语言(Hypertext MarkupLanguage)格式的网页文档,并可以通过在该网页文档中进行编辑的不同元素,例如文本、图像、音频、视频、交互式表单等,定义目标网页的具体呈现方式,从而可以在网页中展示不同类型的信息,以及实现与外部信息的交互。本文中网页文档也可以称为HTML文件。
上述Web资源中的一部分可以直接记录在上述网页文档的内部,由浏览器直接加载,而另一部分可以通过外部资源链接的方式,利用网页文档中记录的存在于该网页文档的外部的Web资源的链接地址,实现对这些网页资源的调用,并进一步地通过浏览器等加载到目标网页中。其中,Web资源的链接地址通常也可以表现为URL,本申请对此不作限定。
通过外部资源链接的方式进行加载的Web资源可以有多种类型,例如文本、图片、视频文件等,而其文件格式也可以有多种,例如,较为常见的,可以包括Javascript脚本或层叠样式表CSS(Cascading Style Sheet)类型的文件等,本申请对此均不做任何限定,应理解为任意形式的Web资源。
本申请实施例中,资源服务器在获取到数据访问请求后,根据目标页面的URL,查找目标访问数据的原始访问资源,并将目标访问数据的原始访问资源返回给代理服务器。
原始访问资源中包括但不限于:HTML文件、CSS文件、脚本文件、图片等Web资源。其中,脚本文件的数量不限,可以为一个或者多个,在实际应用中,为了节省资源或者提高页面的加载速度,可以将脚本文件设置为一个。可选地,该脚本文件可以为Javascript脚本文件,以供浏览器调用。
S303、代理服务器对原始访问资源进行无害化解析处理,得到无害化访问资源。
S304、代理服务器对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源。需要说明的是,本申请实施例中,支持数据访问终端执行的展示资源是指数据访问终端不需要进行解析,通过执行展示资源,即可实现目标访问数据的呈现。
S305、代理服务器将展示资源发送至数据访问终端,以使数据访问终端通过执行展示资源,展示目标访问数据。
由于页面解析是漏洞出现的主要环节,本申请实施例中,通过对原始访问资源进行无害化解析处理,得到无害化访问资源,然后对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源,这样,一方面,避免了数据访问终端因页面解析存在漏洞出现安全问题,提升了数据访问终端的安全性,另一方面,相对数据访问终端而言,由于在经安全加固处理的可被攻击环境中进行数据处理,因此,即便因页面解析环节存在漏洞导致被攻击,也可以保证代理服务器的安全运行。
在一些实施例中,考虑到脚本执行是漏洞较多的环节,为了进一步提升终端安全性,本申请实施例中,代理服务器对原始访问资源进行无害化解析处理,得到无害化访问资源的过程中,可以执行脚本文件,得到相应的脚本运行结果。
具体的,参阅图5所示,其为本申请实施例中提供的一种无害化解析方法的流程示意图,该方法应用于代理装置,下文仅以代理装置是代理服务器为例进行说明,具体流程如下:
S501、代理服务器对原始访问资源中携带的HTML文件进行语法解析,获得初始页面内容和初始页面布局。
具体的,本申请实施例中,代理服务器对原始访问资源中携带的HTML文件进行语法解析,得到HTML文件中包含的各元素和相应的属性,然后,将各元素和相应的属性作为文档对象模型(Document Object Model,DOM)节点,并基于各DOM节点,得到DOM树,DOM树是由DOM元素和属性节点构成的树结构。进而,基于DOM树中包含的各个DOM节点,可以得到初始页面内容,基于DOM树中各个DOM节点之间的关联关系,可以得到初始页面布局。
其中,元素包括但不限于<p>元素、<body>元素、<html>元素、<h1>元素、<head>元素等,其中,<p>元素用于定义HTML文件中的一个段落,<body>元素用于定义HTML文件的主体,<html>元素用于定义整个HTML文件,<h1>元素用于定义HTML文件中的一个大标题,<head>元素用于定义HTML文件的元(meta)数据。
属性是HTML元素提供的附加信息,属性一般是以名称/值对的形式出现,例如,name="value"。
例如,参阅图6所示,HTML文件中包含<html>元素、<head>元素、<body>元素、<h1>元素、<p>元素等,其中,<html>元素对应的DOM节点是DOM树的根节点,<html>元素对应的DOM节点是<head>元素和<body>元素对应的DOM节点的父节点,<body>元素对应的DOM节点是<h1>元素和<p>元素对应的DOM节点的父节点,<h1>元素对应的DOM节点是文本“标题A”对应的DOM节点的父节点。
在一些实施例中,原始访问资源中还可以携带CSS文件,通过解析CSS文件,得到各CSS对象,基于各CSS对象,及样式元素中的样式数据得到为CSS规则树。结合CSS规则树和DOM树,可以生成呈现树(也可称为渲染树)。呈现树构建完毕之后,基于呈现树中,得到初始页面内容和初始页面布局。
S502、代理服务器运行原始访问资源中携带的至少一个脚本文件,得到至少一个脚本文件对应的脚本运行结果。
需要说明的是,本申请实施例中,脚本文件用于实现不同的业务逻辑,例如,从数据库中读取数据、实现页面跳转、实现点击功能等,但不局限于此。
例如,假设,目标页面为纸品搜索结果页面,代理服务器运行脚本文件,得到该脚本文件对应的脚本运行结果,脚本运行结果为搜索结果列表,搜索结果列表中包含品牌A的抽纸、品牌B的抽纸、品牌C的抽纸等。
作为一种可能的实现方式,通过外部资源链接的方式,利用HTML文件中记录的脚本文件的链接地址,实现对脚本文件的调用。
以脚本文件为Javascript脚本文件为例,Javascript脚本文件在HTML文件中的声明如下:
<script data-original=″script.js″type=″text/javascript″charset=″utf-8″></script>,
其中,“<script></script>”可以用于表示html标签中的<script>标签,<script>标签用于定义脚本类型的文件。type属性用于定义该脚本文件的多用途互联网邮件扩展(Multipurpose Internet Mail Extensions,MIME)类型,其中,“javascript”表示该脚本文件的类型为Javascript脚本文件。Charset属性用于定义该Javascript脚本文件的字符编码方式,例如,上述的“utf-8”表示Unicode编码方式。Src属性用于指向外部脚本文件,即指向该Javascript脚本文件,且可以通过Src属性的赋值来规定该Javascript脚本文件的访问路径,其中,该访问路径通常表现为该Javascript脚本文件的URL,例如上述的“script.js”。
代理服务器在通过上述<script>标签获取Javascript脚本文件的过程中,由于通过Src属性定义了该Javascript脚本文件的访问路径,因此,可以根据该路径对其进行访问和调用。
S503、代理服务器基于初始页面内容和初始页面布局,以及得到的脚本运行结果,得到无害化访问资源。
具体的,基于初始页面内容和初始页面布局,以及得到的各脚本运行结果,获得目标页面包含的各页面元素,以及各页面元素分别在目标页面的位置;基于获得的各页面元素,以及各页面元素分别在目标页面的位置,得到无害化访问资源。
例如,参阅图7所示,假设,脚本运行结果为搜索结果列表,搜索结果列表中包含品牌A的抽纸、品牌B的抽纸、品牌C的抽纸等,以及得到的各脚本运行结果,获得目标页面包含的各页面元素:标题“搜索结果”、搜索结果A、搜索结果B、搜索结果C等,其中,搜索结果A为品牌A的抽纸,搜索结果B为品牌B的抽纸,搜索结果C为品牌C的抽纸,以及获得各页面元素分别在目标页面的位置,其中,标题“搜索结果”置顶于目标页面中,搜索结果A、搜索结果B、搜索结果C等以列表形式依次排列,然后,基于获得的各页面元素,以及各页面元素分别在目标页面的位置,得到无害化访问资源。
在一些实施例中,考虑到HTML文件中可能存在异常代码,为了进一步提升系统安全性,本申请实施例中,对原始访问资源中携带的HTML文件进行语法解析之前,对HTML文件进行异常代码检测;当检测结果表征HTML文件中存在异常代码时,删除HTML文件中包含的异常代码;对删除异常代码后的HTML文件进行语法解析,得到初始页面内容和初始页面布局。
对HTML文件进行异常代码检测时,示例性的,可以采用基于HTML文件运行时产生的各类操作行为,操作行为包括修改文件系统、修改注册表、网络行为(解析域名、发出HTTP请求等)等,确定HTML文件中是否存在异常代码,也可以采用异常代码检测模型进行异常代码检测,异常代码检测模型可以采用神经网络等机器学习算法,但不局限于此。
通过上述实现方式,可以删除页面中可能产生危险的部分,将复杂的页面变成无需执行的纯展示资源,进一步提高安全性。
在一些实施例中,在执行S304时,代理服务器可以基于图形渲染库,对无害化访问资源进行可视化渲染处理,得到待渲染命令和待渲染内容,并将待渲染命令和待渲染内容,作为支持数据访问终端执行的展示资源。
图形渲染库可以采用但不限于Skia库。本申请实施例中,待渲染命令和待渲染内容可以采用自定义浏览器渲染数据数据格式(Browser Vector Rendering,BVR)。代理服务器可以通过Skia库对无害化访问资源进行可视化渲染处理,通过拦截获得待渲染命令和待渲染内容。
本申请实施例中,可以通过修改浏览器的源码的方式,实现对待渲染命令和待渲染内容的获取。例如,谷歌浏览器为开源工程,通过修改浏览器的源码的方式可以实现待渲染命令和待渲染内容的获取。
在一些实施例中,为了提高数据传输效率,代理服务器可以先对展示资源进行结构化处理,得到结构化的展示资源,然后,基于目标数据传输格式,对所述结构化的展示资源进行序列化处理后,得到序列化的展示资源,将序列化的展示资源发送至数据访问终端。
本申请实施例中,序列化的展示资源也可以称为处理后的展示资源。示例性的,代理服务器可以对待渲染命令和待渲染内容进行结构化和序列化处理,得到处理后的待渲染命令和待渲染内容,并将处理后的待渲染命令和待渲染内容发送至数据访问终端。
其中,结构化处理是指确定展示资源中包含的数据以及数据之间的关联关系,并基于数据之间的关联关系,从展示资源选出关键数据。
序列化处理是将数据转换为目标数据传输格式。目标数据传输格式可以是指二进制数据流。示例性的,对结构化处理后得到的数据进行序列化处理时,可以对结构化处理后得到的数据进行二进制编码,得到二进制数据流。本申请实施例中,对二进制编码的具体实现方式不作限制。
在一些实施例中,将展示资源发送至数据访问终端时,将展示资源和以下数据中的至少一项,打包发送至数据访问终端:
信息1:目标渲染库代码。
为了使得数据访问终端能够对待渲染数据进行渲染,本申请实施例中,当首次向数据访问终端传输展示资源时,将图形渲染库的代码,编译为目标渲染库代码,然后,将目标渲染库代码和展示资源打包发送至数据访问终端。
本申请实施中,目标渲染库代码为wasm代码。wasm也可称为WebAssembly,是一种大部分浏览器都支持的运行本地(native)代码的机制。
例如,参阅图8所示,代理服务器从资源服务器获取到目标页面对应的原始访问资源之后,基于资源集,通过对HTML文件进行语法解析、运行脚本文件、绘制(draw),得到无害化访问资源。接着,通过图形渲染库Skia库,对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源。然后,在首次向数据访问终端传输展示资源时,将图形渲染库Skia库的代码,编译为目标渲染库代码。之后,对展示资源进行结构化和序列化处理,得到处理后的展示资源,并将目标渲染库代码和处理后的展示资源打包发送至数据访问终端。数据访问终端获取到目标渲染库代码和处理后的展示资源后,通过执行目标渲染库代码和执行展示资源,实现目标页面的渲染及光栅化,从而呈现目标页面。需要说明的是,代理服务器可以对展示资源进行光栅化,也可以不对展示资源进行光栅化。
通过上述实现方式,数据访问终端在接收到待渲染数据时,可以通过执行目标渲染库代码和展示资源,展示目标页面,提高了数据处理效率,同时,数据访问终端只展示页面而不解析和运行页面,提升了数据访问终端的安全性。
信息2:校验信息。校验信息用于验证数据完整性。
作为一种示例,基于展示资源的数据长度,生成校验信息,将校验信息和待渲染数据打包发送至数据访问终端。其中,校验信息可以采用但不限于循环冗余校验码(CyclicRedundancy Check,CRC)。若代理服务器向数据访问终端发送校验信息和展示资源,数据访问终端基于校验信息,确定展示资源完整时,执行展示资源。
作为另一种示例,代理服务器基于目标渲染库代码和展示资源的数据长度,生成校验信息,将校验信息、目标渲染库代码和展示资源发送至数据访问终端。
通过上述实现方式,通过数据完整性校验,在一定程度上避免了检测或校验数据传输可能出现的错误,提高传输的可靠性和准确性和可靠性。
需要说明的是,本申请实施例中,为了进一步提高数据传输效率,可以将展示资源和上述数据中的至少一项进行压缩发送。相应的,数据访问终端解压获取展示资源和上述数据中的至少一项。
例如,代理服务器将目标渲染库代码、CRC和展示资源进行压缩,得到压缩数据包。当数据访问终端接收到压缩数据包后,对压缩数据包进行解压后,得到目标渲染库代码、CRC和展示资源,然后通过校验CRC,确定数据完整时,执行目标渲染库代码和展示资源,获得并呈现目标页面。
在一些实施例中,在客户端浏览器与服务器端浏览器的通信过程中,服务器端浏览器需要根据目标对象的账户和账户密码对目标对象进行身份认证,为了减轻服务器的压力,减少频繁的查询数据库,本申请实施例中,可以采用认证信息标识目标对象为已授权对象。
具体的,若代理服务器确定首次接收到来自数据访问终端的数据访问请求,则基于数据访问请求中携带的数据访问终端的终端标识,确定存在数据访问终端对应的终端代理信息时,生成数据访问终端对应的认证信息,并将认证信息发送至数据访问终端,以使数据访问终端基于携带认证信息的访问标识进行数据访问。
其中,认证信息可以采用但不限于令牌(token),Token是服务端浏览器生成的一串字符串,以作客户端浏览器进行请求的一个令牌,当首次接收数据访问请求后,服务器浏览器生成一个token并将此token返回给客户端浏览器,这样,客户端浏览器后续只需带上这个token来请求数据即可。
生成数据访问终端对应的认证信息时,作为一种可能的实现方式,将数据访问终端的唯一标识信息作为token,唯一标识信息包括但不限于设备标识或媒体访问控制(Media Access Control Address,MAC)地址。作为另一种可能的实现方式,将数据访问终端对应的会话(session)序号作为token,但不局限于此。
需要说明的是,本申请实施例中,代理服务器将认证信息发送至数据访问终端时,还可以将目标状态码一起发送给数据访问终端。目标状态码为302状态码,302状态码是HTTP协议中的一个状态码(Status Code),302状态码表征资源原本确实存在,但已经被临时改变了位置;换而言之,就是请求的资源暂时驻留在不同的URL下。这样,当数据访问终端接收到状态码后,向代理服务器发送新的数据访问请求,新的数据访问请求中的URL为携带token的URL。
示例性的,参阅图9所示,数据访问终端、代理服务器和资源服务器之间的交互如下:
S901、数据访问终端向代理服务器发送数据访问请求,数据访问请求中包含原始URL。其中,原始URL是指为携带token的URL。
S902、代理服务器生成数据访问终端对应的token。具体的,代理服务器确定首次接收到来自数据访问终端的数据访问请求,并基于数据访问请求中携带的数据访问终端的终端标识,确定存在数据访问终端对应的终端代理信息时,生成数据访问终端对应的token。
S903、代理服务器将数据访问终端对应的token和302状态码返回给数据访问终端。
S904、数据访问终端将携带token的URL发送给代理服务器。
S905、代理服务器向资源服务器发送数据访问请求。其中,数据访问请求中携带的可以是原始URL,也可以是携带token的URL,对此不作限定。
S906、代理服务器接收资源服务器返回的访问响应,访问响应中携带目标页面的原始访问资源。
S907、代理服务器对原始访问资源进行无害化解析处理,得到无害化访问资源,并对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源。
具体的,原始访问资源中包含目标页面的HTML文件和至少一个脚本文件,代理服务器对HTML文件进行异常代码检测,当检测结果表征HTML文件中存在异常代码时,删除HTML文件中包含的异常代码,并基于删除异常代码后的HTML文件,得到初始页面内容和初始页面布局。
接着,代理服务器运行至少一个脚本文件,得到至少一个脚本文件对应的脚本运行结果,基于初始页面内容和初始页面布局,以及得到的各脚本运行结果,获得目标页面包含的各页面元素,以及获得各页面元素分别在目标页面的位置,进而基于获得的各页面元素,以及各页面元素分别在目标页面的位置,得到无害化访问资源。
之后,代理服务器对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源。
S908、代理服务器将展示资源返回给数据访问终端。
具体的,代理服务器先对展示资源进行结构化处理,然后对结构化处理后得到的数据进行序列化处理,得到处理后的展示资源。
作为第一种示例,代理服务器可以直接将处理后的展示资源发送至数据访问终端。
作为第二种示例,代理服务器将图形渲染库Skia库的代码,编译为目标渲染库代码,将处理后的展示资源和目标渲染库代码打包发送至数据访问终端。
作为第三种示例,代理服务器将图形渲染库Skia库的代码,编译为目标渲染库代码,并将处理后的展示资源、目标渲染库代码、校验信息打包发送至数据访问终端。
S909、数据访问终端通过执行展示资源,展示目标页面。
若数据访问终端接收到处理后的展示资源、目标渲染库代码和校验信息,则基于校验信息,确定数据包完整时,对处理后的展示资源进行反序列化,得到结构化数据,并基于结构化数据,得到展示资源。然后,数据访问终端通过展示资源和目标渲染库代码,展示目标页面。
若数据访问终端接收到处理后的展示资源和目标渲染库代码,则处理后的展示资源进行反序列化,得到结构化数据,并基于结构化数据,得到展示资源。然后数据访问终端通过展示资源和目标渲染库代码,展示目标页面。
若数据访问终端接收到处理后的展示资源,则对处理后的展示资源进行反序列化,得到结构化数据,并基于结构化数据,得到展示资源。然后,数据访问终端基于本地的渲染库,通过执行展示资源,展示目标页面。
在一些实施例中,代理服务器确定首次接收来自所述数据访问终端的数据访问请求时,作为一种可能的实现方式,当访问标识中不包含认证信息时,代理服务器确定首次接收来自数据访问终端的数据访问请求。
例如,当URL中不包含token时,代理服务器确定首次接收来自所述数据访问终端的数据访问请求。
作为另一种可能的实现方式,代理服务器中存储有终端访问历史,当终端访问历史中不存在数据访问终端的终端标识时,代理服务器确定首次接收来自数据访问终端的数据访问请求。
例如,当终端访问历史中不存在数据访问终端A的设备标识:IDA时,代理服务器确定首次接收来自数据访问终端A的数据访问请求。
在一些实施例中,数据访问终端与代理服务器之间的代理关系可以通过但不限于以下方式配置:
数据访问终端响应于目标对象针对代理服务器触发的代理配置操作,向代理服务器发送代理请求。代理服务器接收来自数据访问终端的代理请求,代理请求中包含数据访问终端的终端标识;将终端标识记录于终端代理信息中。
相应的,代理服务器基于数据访问请求中携带的数据访问终端的终端标识,确定存在数据访问终端对应的终端代理信息,包括:当确定存储的终端代理信息中存在终端标识时,确定存在数据访问终端对应的终端代理信息。
例如,假设,代理服务器存储的终端代理信息中包含数据访问终端A的终端标识,在接收到来自数据访问终端A的数据访问请求后,确定存在数据访问终端对应的终端代理信息。
通过上述实现方式,在接收到来自数据访问终端的数据访问请求后,可以快速确定目终端与代理服务器之间是否存在代理关系,提高信息处理速度。
在一些实施例中,目标对象针对代理服务器触发的代理配置操作是指以下操作中的至少一种:
操作1、数据访问终端响应于目标对象输入的目标服务器的服务器标识,将目标服务器作为代理服务器。其中,服务器标识中可以包含目标服务器的IP地址或者域名,还可以包含目标服务器的端口号等信息。
例如,假设,目标服务器为服务器A,数据访问终端响应于目标对象输入的服务器A的服务器标识:0.0.0.10,将服务器A作为代理服务器。
操作2、数据访问终端响应于目标对象从至少一个候选服务器中选取的目标服务器,将目标服务器作为代理服务器。其中,数据访问终端将可供选择的代理服务器作为候选服务器,并在操作界面中呈现至少一个候选服务器,目标对象从至少一个候选服务器中选取目标服务器,数据访问终端响应于目标对象选取的目标服务器,将目标服务器作为代理服务器。
例如,假设,候选服务器包括代理服务器A、代理服务器B、代理服务器C,其中,代理服务器A、代理服务器B、代理服务器C的IP地址分别为0.0.0.10、125.0.0.1、125.125.0.2,目标对象从代理服务器A、代理服务器B和代理服务器C中,选取代理服务器B作为目标服务器,数据访问终端响应于目标对象选取的代理服务器B,将代理服务器B作为代理服务器。
通过上述实现方式,可以快速实现数据访问终端与代理服务器之间的代理关系的配置,提高了代理配置效率,且操作简单,提升了目标对象的使用感受。
在一些实施例中,为了进一步提高代理服务器的安全性,可以对代理服务器进行安全加固和日志记录等,示例性的,代理服务器可以基于访问标识,以及预设的异常访问标识列表,确定目标访问数据为异常访问数据时,向数据访问终端发送异常访问提示。
例如,假设,异常网页标识列表中包含URL:www.ACCxxxx.com,代理服务器接收到的数据访问请求中携带的URL为www.ACCxxxx.com,基于数据访问请求中携带的URL,以及预设的异常网页标识列表,确定目标页面为异常页面,并向数据访问终端发送异常访问提示。
需要说明的是,本申请实施例中,代理服务器在向数据访问终端发送异常访问提示信息之后,还可以在接收到数据访问终端发送的确认访问指示时,可以继续执行S302-S305。这样,如果目标对象在获知异常访问提示之后,还需要继续访问目标对象,代理服务器仍旧可以为目标对象提供相应的服务。
在一些实施例汇中,代理服务器在获取到HTML文件之后,作为一种可能的实现方式,可以直接对HTML文件进行解析。作为另一种可能的实现方式,为了实现更好的隔离效果,提升代理服务器安全性,代理服务器也可以对HTML文件进行解析,并重写HTML文件,进而根据重写后的HTML文件,得到无害化访问资源。重写后的HTML文件用于呈现目标页面,但重写后的HTML文件不包含可能产生危险的部分。根据重写后的HTML文件,得到无害化访问资源的过程与上文中的无害化解析处理过程相同,在此不再赘述。
在一些实施例中,接收数据访问终端通过受控终端发送的数据访问请求;受控终端与数据访问终端之间存在远程桌面连接,数据访问终端是控制终端。相应的,将展示资源发送给受控终端,以使数据访问终端通过受控终端展示目标访问数据。
下面,结合几个具体应用场景进行说明。
应用场景一:手机浏览器场景。
参阅图10所示,在手机中配置代理服务器,代理服务器的IP地址为0.0.0.11,资源服务器用于提供Web page资源。
目标对象输入URL:www.xx.com,手机获取到目标对象触发的数据访问请求后,将数据访问请求发送至代理服务器,数据访问请求中包含目标页面的URL,目标页面为某电子产品的详情介绍页。
代理服务器接收到来自手机的数据访问请求后,将数据访问请求发送给资源服务器。资源服务器根据数据访问请求,向代理服务器返回目标页面对应的资源集。
代理服务器基于资源集中包含的HTML文件,对HTML文件进行语法解析,获得初始页面内容和初始页面布局,并运行资源集中包含的各个脚本文件,得到至少一个脚本文件对应的脚本运行结果,脚本运行结果为详情介绍页中包含的各项产品参数,例如运行时长、充电功率等。然后,代理服务器基于初始页面内容和初始页面布局,以及脚本运行结果,得到目标页面包含的各页面元素,以及各页面元素分别在目标页面的位置,并基于目标页面包含的各页面元素,以及各页面元素分别在目标页面的位置,得到无害化访问资源。之后,代理服务器对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源,并对展示资源进行结构化处理和序列化处理,得到处理后的展示资源,以及将处理后的展示资源、Skia库的wasm代码、CRC打包发送给手机。
手机接收到处理后的展示资源、Skia库的wasm代码、CRC后,解压获得展示资源、Skia库的wasm代码、CRC,并通过CRC进行数据完整性校验,之后,通过Skia库的wasm代码和展示资源,展示目标页面。
应用场景2:基于远程桌面的远程隔离访问。
参阅图11所示,PC1与PC2之间存在远程桌面连接,PC1为远程控制终端,PC2为受控终端。PC2配置代理服务器,代理服务器的IP地址为0.0.0.11。
PC1与PC2存在远程桌面连接时,在PC1上呈现PC2的桌面,目标对象可以通过PC1对PC2中安装的浏览器进行操作,当PC1获取到目标对象针对PC2中安装的浏览器触发的数据访问请求后,PC1通过PC2将数据访问请求发送至代理服务器,数据访问请求中包含目标页面的URL。
代理服务器接收到来自PC2的数据访问请求后,将数据访问请求发送给资源服务器。资源服务器根据数据访问请求,向代理服务器返回目标页面的桌面对应的资源集。
代理服务器基于资源集中包含的HTML文件,对HTML文件进行语法解析,获得初始页面内容和初始页面布局,并运行资源集中包含的各个脚本文件,得到至少一个脚本文件对应的脚本运行结果,以及基于初始页面内容和初始页面布局,以及脚本运行结果,得到目标页面包含的各页面元素,以及各页面元素分别在目标页面的位置,并基于目标页面包含的各页面元素,以及各页面元素分别在目标页面的位置,得到无害化访问资源。之后,代理服务器对无害化访问资源进行可视化渲染处理,得到支持数据访问终端执行的展示资源,并对展示资源进行结构化处理和序列化处理,得到处理后的展示资源,以及将处理后的展示资源、Skia库的wasm代码、CRC打包发送给PC2。
PC2接收到处理后的展示资源、Skia库的wasm代码、CRC后,解压获得展示资源、Skia库的wasm代码、CRC,并通过CRC进行数据完整性校验,之后,通过Skia库的wasm代码和展示资源,展示目标页面。由于PC1与PC2存在远程桌面连接,因此,PC1可以通过PC2呈现目标页面。
基于相同的发明构思,本申请实施例提供一种数据访问装置。如图12所示,其为数据访问装置1200的结构示意图,可以包括:
接收单元1201,用于接收数据访问终端发送的数据访问请求,其中,所述数据访问请求中携带目标访问数据的访问标识;
转发单元1202,用于在经安全加固处理的可被攻击环境中,将所述数据访问请求发送至资源服务器,并接收所述资源服务器返回的所述目标访问数据对应的原始访问资源;
无害化解析单元1203,用于对所述原始访问资源进行无害化解析处理,得到无害化访问资源;
渲染处理单元1204,用于对所述无害化访问资源进行可视化渲染处理,得到支持所述数据访问终端执行的展示资源;
发送单元1205,用于将所述展示资源发送至所述数据访问终端,以使所述数据访问终端通过所述展示资源,展示所述目标访问数据。
作为一种可能的实现方式,所述对所述原始访问资源进行无害化解析处理,得到无害化访问资源时,无害化解析单元1203具体用于:
对所述原始访问资源中携带的HTML文件进行语法解析,获得初始页面内容和初始页面布局;
运行所述原始访问资源中携带的至少一个脚本文件,得到所述至少一个脚本文件对应的脚本运行结果;
基于所述初始页面内容和所述初始页面布局,以及所述脚本运行结果,得到无害化访问资源。
作为一种可能的实现方式,所述对所述原始访问资源中携带的HTML文件进行语法解析,获得初始页面内容和初始页面布局时,无害化解析单元1203具体用于:
对所述HTML文件进行异常代码检测;
当检测结果表征所述HTML文件中存在异常代码时,删除所述HTML文件中包含的异常代码;
基于所述删除异常代码后的HTML文件,得到初始页面内容和初始页面布局。
作为一种可能的实现方式,所述基于所述初始页面内容和所述初始页面布局,以及所述脚本运行结果,得到无害化访问资源时,无害化解析单元1203具体用于:
基于所述初始页面内容和所述初始页面布局,以及所述脚本运行结果,获得所述目标页面包含的各页面元素,以及所述各页面元素分别在所述目标页面的位置;
基于获得的所述各页面元素,以及所述各页面元素分别在所述目标页面的位置,得到无害化访问资源。
作为一种可能的实现方式,所述对所述无害化访问资源进行可视化渲染处理,得到支持所述数据访问终端执行的展示资源时,渲染处理单元1204具体用于:
基于图形渲染库,对所述无害化访问资源进行可视化渲染处理,得到待渲染命令和待渲染内容,并将所述待渲染命令和待渲染内容,作为支持所述数据访问终端执行的展示资源。
作为一种可能的实现方式,所述将所述展示资源发送至所述数据访问终端时,渲染处理单元1204具体用于:
当首次向所述数据访问终端传输所述展示资源时,将图形渲染库的代码,编译为目标渲染库代码;
将所述目标渲染库代码和所述展示资源打包发送至所述终端设备。
作为一种可能的实现方式,渲染处理单元1204还用于:
对所述展示资源进行结构化处理,得到结构化的展示资源;
基于目标数据传输格式,对所述结构化的展示资源进行序列化处理后,得到序列化的展示资源;
将所述序列化的展示资源发送至所述数据访问终端。
作为一种可能的实现方式,渲染处理单元1204还用于:基于所述展示资源的数据长度,生成用于验证数据完整性的校验信息;或者,基于目标渲染库代码和所述展示资源的数据长度,生成用于验证数据完整性的校验信息;所述目标渲染库代码是对图形渲染库编译得到的,所述图形渲染库编译用于对所述无害化访问资源进行可视化渲染处理的;
发送单元1205,还用于:将所述校验信息和所述展示资源打包发送至所述数据访问终端;或者,将所述校验信息、所述目标渲染库代码和所述展示资源打包发送至所述数据访问终端。
作为一种可能的实现方式,还包括认证单元1206(图中未示出),认证单元1206用于:
若确定首次接收来自所述数据访问终端的数据访问请求,则基于所述数据访问请求中携带的所述数据访问终端的终端标识,确定存在所述数据访问终端对应的终端代理信息时,生成所述数据访问终端对应的认证信息;
发送单元1205,还用于:将所述认证信息发送至所述数据访问终端,以使所述数据访问终端基于携带所述认证信息的访问标识进行数据访问。
作为一种可能的实现方式,接收单元1201,还用于:接收来自所述数据访问终端的代理请求,所述代理请求中包含所述数据访问终端的终端标识;将所述终端标识记录于终端代理信息中;
所述基于所述数据访问请求中携带的所述数据访问终端的终端标识,确定存在所述数据访问终端对应的终端代理信息时,认证单元1206具体用于:
当确定存储的所述终端代理信息中存在所述终端标识时,确定存在所述数据访问终端对应的终端代理信息。
作为一种可能的实现方式,所述确定首次接收来自所述数据访问终端的数据访问请求时,认证单元1206具体用于:
当所述访问标识中不包含所述认证信息时,确定首次接收来自所述数据访问终端的数据访问请求;或者,
当终端访问历史中不存在所述数据访问终端的终端标识时,确定首次接收来自所述数据访问终端的数据访问请求。
作为一种可能的实现方式,发送单元1205,还用于:
当基于所述访问标识,以及预设的异常访问标识列表,确定所述目标访问数据为异常访问数据时,向所述数据访问终端发送异常访问提示;
当接收到所述终端设备发送的确认访问指示时,在经安全加固处理的可被攻击环境中,将所述数据访问请求发送至资源服务器。
作为一种可能的实现方式,所述接收数据访问终端发送的数据访问请求时,接收单元1201具体用于:接收所述数据访问终端通过受控终端发送的数据访问请求;所述受控终端与所述数据访问终端之间存在远程桌面连接,所述数据访问终端是控制终端;
所述将所述展示资源发送至所述数据访问终端时,发送单元1205具体用于:将所述展示资源发送给所述受控终端,以使所述数据访问终端通过所述受控终端展示所述目标访问数据。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
关于上述实施例中的装置,其中各个单元执行请求的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
基于相同的发明构思,本申请实施例还提供一种电子设备。参阅图13所示,其为本申请实施例中提供的一种可能的电子设备的结构示意图,图13中,电子设备1300包括:处理器1310和存储器1320。
其中,存储器1320存储有可被处理器1310执行的计算机程序,处理器1310通过执行存储器1320存储的指令,可以执行上述数据访问方法的步骤。
存储器1320可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1320也可以是非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1320是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1320也可以是上述存储器的组合。
处理器1310可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1310,用于执行存储器1320中存储的计算机程序时实现上述数据访问方法。
在一些实施例中,处理器1310和存储器1320可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
本申请实施例中不限定上述处理器1310和存储器1320之间的具体连接介质。本申请实施例中以处理器1310和存储器1320之间通过总线连接为例,总线在图13中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线可以分为地址总线、数据总线、控制总线等。为便于描述,图13中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其包括计算机程序,当计算机程序在电子设备上运行时,计算机程序用于使电子设备执行上述图3中数据访问方法的步骤。
在一些可能的实施方式中,本申请提供的数据访问方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行上述数据访问方法中的步骤,示例性的,电子设备可以用于执行图3中数据访问方法的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(Compact Disk Read Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用CD-ROM并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储计算机程序的有形介质,该计算机程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的计算机程序。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (17)

1.一种数据访问方法,其特征在于,所述方法包括:
接收数据访问终端发送的数据访问请求,其中,所述数据访问请求中携带目标访问数据的访问标识;
在经安全加固处理的可被攻击环境中,将所述数据访问请求发送至资源服务器,并接收所述资源服务器返回的所述目标访问数据的原始访问资源;
对所述原始访问资源进行无害化解析处理,得到无害化访问资源;
对所述无害化访问资源进行可视化渲染处理,得到支持所述数据访问终端执行的展示资源;
将所述展示资源发送至所述数据访问终端,以使所述数据访问终端通过执行所述展示资源,展示所述目标访问数据。
2.如权利要求1所述的方法,其特征在于,所述对所述原始访问资源进行无害化解析处理,得到无害化访问资源,包括:
对所述原始访问资源中携带的HTML文件进行语法解析,获得初始页面内容和初始页面布局;
运行所述原始访问资源中携带的至少一个脚本文件,得到所述至少一个脚本文件对应的脚本运行结果;
基于所述初始页面内容和所述初始页面布局,以及所述脚本运行结果,得到无害化访问资源。
3.如权利要求2所述的方法,其特征在于,所述对所述原始访问资源中携带的HTML文件进行语法解析,获得初始页面内容和初始页面布局,包括:
对所述HTML文件进行异常代码检测;
当检测结果表征所述HTML文件中存在异常代码时,删除所述HTML文件中包含的异常代码;
基于所述删除异常代码后的HTML文件,得到初始页面内容和初始页面布局。
4.如权利要求2所述的方法,其特征在于,所述基于所述初始页面内容和所述初始页面布局,以及所述脚本运行结果,得到无害化访问资源,包括:
基于所述初始页面内容和所述初始页面布局,以及所述脚本运行结果,获得所述目标页面包含的各页面元素,以及所述各页面元素分别在所述目标页面的位置;
基于获得的所述各页面元素,以及所述各页面元素分别在所述目标页面的位置,得到无害化访问资源。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述对所述无害化访问资源进行可视化渲染处理,得到支持所述数据访问终端执行的展示资源,包括:
基于图形渲染库,对所述无害化访问资源进行可视化渲染处理,得到待渲染命令和待渲染内容;
将所述待渲染命令和待渲染内容,作为支持所述数据访问终端执行的展示资源。
6.如权利要求5所述的方法,其特征在于,所述将所述展示资源发送至所述数据访问终端,包括:
当首次向所述数据访问终端传输所述展示资源时,将图形渲染库的代码,编译为目标渲染库代码;
将所述目标渲染库代码和所述展示资源打包发送至所述终端设备。
7.如权利要求1-4中任一项所述的方法,其特征在于,所述将所述展示资源发送至所述数据访问终端,包括:
对所述展示资源进行结构化处理,得到结构化的展示资源;
基于目标数据传输格式,对所述结构化的展示资源进行序列化处理后,得到序列化的展示资源;
将所述序列化的展示资源发送至所述数据访问终端。
8.如权利要求1-4中任一项所述的方法,其特征在于,所述将所述展示资源发送至所述数据访问终端,包括:
基于所述展示资源的数据长度,生成用于验证数据完整性的校验信息;将所述校验信息和所述展示资源打包发送至所述数据访问终端;或者,
基于目标渲染库代码和所述展示资源的数据长度,生成用于验证数据完整性的校验信息;将所述校验信息、所述目标渲染库代码和所述展示资源打包发送至所述数据访问终端;其中,所述目标渲染库代码是对图形渲染库编译得到的,所述图形渲染库编译用于对所述无害化访问资源进行可视化渲染处理的。
9.如权利要求1-4中任一项所述的方法,其特征在于,还包括:
若确定首次接收来自所述数据访问终端的数据访问请求,则基于所述数据访问请求中携带的所述数据访问终端的终端标识,确定存在所述数据访问终端对应的终端代理信息时,生成所述数据访问终端对应的认证信息;
将所述认证信息发送至所述数据访问终端,以使所述数据访问终端基于携带所述认证信息的访问标识进行数据访问。
10.如权利要求8所述的方法,其特征在于,所述接收来自所述数据访问终端的数据访问请求之前,还包括:
接收来自所述数据访问终端的代理请求,所述代理请求中包含所述数据访问终端的终端标识;将所述终端标识记录于终端代理信息中;
所述基于所述数据访问请求中携带的所述数据访问终端的终端标识,确定存在所述数据访问终端对应的终端代理信息,包括:
当确定存储的所述终端代理信息中存在所述终端标识时,确定存在所述数据访问终端对应的终端代理信息。
11.如权利要求8所述的方法,其特征在于,所述确定首次接收来自所述数据访问终端的数据访问请求,包括:
当所述访问标识中不包含所述认证信息时,确定首次接收来自所述数据访问终端的数据访问请求;或者,
当终端访问历史中不存在所述数据访问终端的终端标识时,确定首次接收来自所述数据访问终端的数据访问请求。
12.如权利要求1-4中任一项所述的方法,其特征在于,还包括:
当基于所述访问标识,以及预设的异常访问标识列表,确定所述目标访问数据为异常访问数据时,向所述数据访问终端发送异常访问提示;
当接收到所述终端设备发送的确认访问指示时,在经安全加固处理的可被攻击环境中,将所述数据访问请求发送至资源服务器。
13.如权利要求1-4中任一项所述的方法,其特征在于,所述接收数据访问终端发送的数据访问请求,包括:
接收所述数据访问终端通过受控终端发送的数据访问请求;所述受控终端与所述数据访问终端之间存在远程桌面连接,所述数据访问终端是控制终端;
所述将所述展示资源发送至所述数据访问终端,包括:
将所述展示资源发送给所述受控终端,以使所述数据访问终端通过所述受控终端展示所述目标访问数据。
14.一种数据访问装置,其特征在于,包括:
接收单元,用于接收数据访问终端发送的数据访问请求,其中,所述数据访问请求中携带目标访问数据的访问标识;
转发单元,用于在经安全加固处理的可被攻击环境中,将所述数据访问请求发送至资源服务器,并接收所述资源服务器返回的所述目标访问数据对应的原始访问资源;
无害化解析单元,用于对所述原始访问资源进行无害化解析处理,得到无害化访问资源;
渲染处理单元,用于对所述无害化访问资源进行可视化渲染处理,得到支持所述数据访问终端执行的展示资源;
发送单元,用于将所述展示资源发送至所述数据访问终端,以使所述数据访问终端通过所述展示资源,展示所述目标访问数据。
15.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-13中任一所述方法的步骤。
16.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1-13中任一所述方法的步骤。
17.一种计算机程序产品,其特征在于,其包括计算机程序,所述计算机程序存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取并执行所述计算机程序,使得所述电子设备执行权利要求1-13中任一所述方法的步骤。
CN202211014767.0A 2022-08-23 2022-08-23 数据访问方法、装置、电子设备及存储介质 Pending CN117675238A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211014767.0A CN117675238A (zh) 2022-08-23 2022-08-23 数据访问方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211014767.0A CN117675238A (zh) 2022-08-23 2022-08-23 数据访问方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117675238A true CN117675238A (zh) 2024-03-08

Family

ID=90079311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211014767.0A Pending CN117675238A (zh) 2022-08-23 2022-08-23 数据访问方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117675238A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118413402A (zh) * 2024-07-02 2024-07-30 合肥城市云数据中心股份有限公司 一种基于大语言模型的恶意域名检测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118413402A (zh) * 2024-07-02 2024-07-30 合肥城市云数据中心股份有限公司 一种基于大语言模型的恶意域名检测方法

Similar Documents

Publication Publication Date Title
US10289649B2 (en) Webpage advertisement interception method, device and browser
US8543869B2 (en) Method and system for reconstructing error response messages under web application environment
US20170272499A1 (en) Method and device for loading webpage
CN104063401B (zh) 一种网页样式地址合并的方法和装置
CN108416021B (zh) 一种浏览器网页内容处理方法、装置、电子设备及可读介质
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
CN113382083B (zh) 一种网页截图方法和装置
CN108494762A (zh) 网页访问方法、装置及计算机可读存储介质、终端
US7143359B2 (en) Emulating advanced graphical user interface elements in a hypermedia content browser
CN113536185B (zh) 应用页面的加载方法、存储介质、及其相关设备
JP2023541186A (ja) 可視化ページレンダリング方法、装置、機器及び記憶媒体
CN114895908B (zh) 基于Web应用表达式的实现方法及系统、设备和存储介质
CN116569165B (zh) 页面显示方法、装置、存储介质及电子设备
CN113761412A (zh) 应用页面的显示方法、装置、电子设备、介质及应用系统
CN112926061A (zh) 插件处理方法及装置
CN117675238A (zh) 数据访问方法、装置、电子设备及存储介质
CN115080154A (zh) 页面显示方法、装置、存储介质及电子设备
JP5151696B2 (ja) ユニフォームリソースロケータ情報を書き換えるプログラム
CN112632425B (zh) 一种离线资源文件的生成方法、装置、设备及存储介质
CN111783006B (zh) 页面的生成方法、装置、电子设备及计算机可读介质
CN115202756A (zh) 基于Vue的组件加载方法、系统和电子设备
Bressoud et al. The hypertext transfer protocol
CN113064987A (zh) 数据处理方法、装置、电子设备、介质和程序产品
CN113377376A (zh) 数据包生成方法、数据包生成装置、电子设备及存储介质
CN112685667A (zh) 数据交互方法、装置及计算机可读介质以及交互服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination