CN109284616A - 数据访问和数据下发方法、装置、设备及存储介质 - Google Patents
数据访问和数据下发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109284616A CN109284616A CN201810940365.0A CN201810940365A CN109284616A CN 109284616 A CN109284616 A CN 109284616A CN 201810940365 A CN201810940365 A CN 201810940365A CN 109284616 A CN109284616 A CN 109284616A
- Authority
- CN
- China
- Prior art keywords
- data
- access request
- rule
- domain name
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本公开提出了一种数据访问和数据下发方法、装置、设备及存储介质。预先保存针对一个或多个域名的数据定制规则,其中,所述一个或多个域名为业务服务器提供业务服务所使用的域名;响应于用户发出的针对所述一个或多个域名中的域名的访问请求,从所述业务服务器获取数据;以及基于所述数据定制规则对获取的数据进行校验,以判断所述数据是否被篡改。由此,可以保证数据访问过程中所获取的数据的安全性。
Description
技术领域
本公开涉及互联网领域,特别是涉及一种数据访问和数据下发方法、装置、设备及存储介质。
背景技术
随着互联网快速发展和智能手机普及,越来越多的厂商将内容通过html5网页的形式来呈现,移动端可以通过基于Webview的app(也即WebApp)来对内容进行访问。
WebApp通过Webview对服务器进行业务访问是基于标准的http协议,在当前的网络环境下,会经常受到一些中间节点的网络攻击。这无疑会降低用户的正常访问体验,并且存在一定的安全隐患。例如,获取的数据可能是被恶意篡改后的数据,因此还会给用户造成一定程度的风险。另外,这些被攻击的业务很大一部分是WebApp发行者自己提供的服务,这无疑会给业务的运营带来了极大的损失和品牌的负面影响。
因此,如何保证数据访问(例如针对自有业务的数据访问)的安全性,是目前亟需解决的一个问题。
发明内容
本公开的一个目的在于提出一种数据访问方案和数据下发方案,以保证数据访问的安全性。
根据本公开的第一个方面,提出了一种数据访问方法,包括:预先保存针对一个或多个域名的数据定制规则,其中,一个或多个域名为业务服务器提供业务服务所使用的域名;响应于用户发出的针对一个或多个域名中的域名的访问请求,从业务服务器获取数据;以及基于数据定制规则对获取的数据进行校验,以判断数据是否被篡改。
可选地,预先保存针对一个或多个域名的数据定制规则的步骤包括:对业务服务器下发的数据定制规则进行规则解析;在解析结果表明数据定制规则正确的情况下,保存数据定制规则。
可选地,数据访问方法还包括:响应于用户的访问请求,判断是否保存了与访问请求所针对的域名相对应的数据定制规则;以及在判定保存了与访问请求所针对的域名相对应的数据定制规则的情况下,对获取的数据进行校验。
可选地,数据访问方法还包括:响应于用户的访问请求,判断是否保存了与访问请求所针对的域名相对应的数据定制规则;以及在判定未保存与访问请求所针对的域名相对应的数据定制规则的情况下,通过安全代理服务器获取访问请求所请求的数据。
可选地,数据访问方法还包括:在判定数据被篡改的情况下,通过安全代理服务器重新获取访问请求所请求的数据。
可选地,数据定制规则定义了数据插入规则,数据插入规则规定了一个或多个插入位置及插入内容,基于数据定制规则对获取的数据进行校验的步骤包括:基于数据定制规则,对数据中每个插入位置及插入内容进行校验,并且,在所有插入位置及插入内容均正确的情况下,判定数据未被篡改。
可选地,用于执行数据访问方法的客户端的发行者与业务服务器的提供者属于同一业务方。
可选地,数据访问方法还包括:在客户端内集成用于辅助实现页面展示的软件开发工具包,客户端通过软件开发工具包实现数据访问方法。
根据本公开的第二个方面,还提供了一种数据下发方法,包括;对于一个或多个域名,生成针对每个域名的数据定制规则;以及响应于接收到客户端的针对一个或多个域名中的域名的访问请求,基于相应的数据定制规则对访问请求所请求的数据进行定制,并将定制后的数据下发至客户端。
可选地,数据下发方法还包括;响应于接收到客户端的访问请求,查找该访问请求所针对的域名是否具有对应的数据定制规则;在查找到该访问请求所针对的域名具有对应的数据定制规则的情况下,基于查找到的数据定制规则对该访问请求所请求的数据进行定制。
可选地,数据下发方法还包括;将数据定制规则下发至客户端。
根据本公开的第三个方面,还提供了一种数据访问装置,包括:保存模块,用于预先保存针对一个或多个域名的数据定制规则,其中,一个或多个域名为业务服务器提供业务服务所使用的域名;获取模块,用于响应于用户发出的针对一个或多个域名中的域名的访问请求,从业务服务器获取数据;以及校验模块,用于基于数据定制规则对获取的数据进行校验,以判断数据是否被篡改。
可选地,保存模块包括:解析模块,用于对业务服务器下发的数据定制规则进行规则解析;保存子模块,用于在解析结果表明数据定制规则正确的情况下,保存数据定制规则。
可选地,数据访问装置还包括:判断模块,用于响应于用户的访问请求,判断是否保存了与访问请求所针对的域名相对应的数据定制规则,在判断模块判定保存了与访问请求所针对的域名相对应的数据定制规则的情况下,校验模块对获取的数据进行校验。
可选地,数据访问装置还包括:在判断模块判定未保存与访问请求所针对的域名相对应的数据定制规则的情况下,获取模块通过安全代理服务器获取访问请求所请求的数据。
可选地,数据访问装置还包括:在判定数据被篡改的情况下,获取模块通过安全代理服务器重新获取访问请求所请求的数据。
可选地,数据定制规则定义了数据插入规则,数据插入规则规定了一个或多个插入位置及插入内容,校验模块基于数据定制规则,对数据中每个插入位置及插入内容进行校验,并且,在所有插入位置及插入内容均正确的情况下,判定数据未被篡改。
可选地,用于执行数据访问方法的客户端的发行者与业务服务器的提供者属于同一业务方。
可选地,数据访问装置还包括:集成模块,用于在客户端内集成用于辅助实现页面展示的软件开发工具包,客户端通过软件开发工具包实现数据访问方法。
根据本公开的第四个方面,还提供了一种数据下发装置,包括;规则生成模块,用于对于一个或多个域名,生成针对每个域名的数据定制规则;数据定制模块,用于响应于接收到客户端的针对一个或多个域名中的域名的访问请求,基于相应的数据定制规则对访问请求所请求的数据进行定制;以及下发模块,用于将定制后的数据下发至客户端。
可选地,数据下发装置还包括;查找模块,用于响应于接收到客户端的访问请求,查找该访问请求所针对的域名是否具有对应的数据定制规则,在查找模块查找到该访问请求所针对的域名具有对应的数据定制规则的情况下,数据定制模块基于查找到的数据定制规则对该访问请求所请求的数据进行定制。
可选地,下发模块还将数据定制规则下发至客户端。
根据本公开的第五个方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如本公开第一个方面或第二个方面述及的方法。
根据本公开的第六个方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如本公开第一个方面或第二个方面述及的方法。
本公开通过在客户端和业务服务器之间维护一个私有的数据定制规则,可以对业务服务器下发的数据是否被篡改进行验证。如此可以保证数据访问过程中获取的数据的安全性。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是示出了根据本公开一实施例的数据访问方法的示意性流程图。
图2是示出了根据本公开一实施例的数据下发方法的示意性流程图。
图3是示出了根据本公开一实施例的数据访问系统的结构示意图。
图4是示出了根据本公开一实施例的数据访问装置的结构的示意性方框图。
图5是示出了保存模块可以具有的功能模块的结构示意图。
图6是示出了根据本公开一实施例的数据下发装置的结构的示意性方框图。
图7是示出了根据本公开一实施例的计算设备的结构的示意性方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
【术语解释】
Webview:智能操作系统提供的一种系统组件,可以完成网页加载显示的功能,具体的接口和功能取决于智能操作系统的版本。
Webview SDK:将Webview以SDK形式对外提供服务器组件,和系统的Webview有类似的功能,但是可以提供归一化的服务,不依赖智能操作系统。
WebApp:基于Webview组件,运行于终端(例如移动终端)的应用程序。WebApp开发是一种框架型APP开发模式(HTML5APP框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
自有业务:指的是某一个app的发行者和它访问的某一个业务的服务器提供者都是自己一个业务方。比如百度贴吧客户端访问百度贴吧服务器的业务,小米浏览器访问小米官网主页的业务。
安全代理服务器:基于http的代理概念,可以在服务器和客户端之间建立一条安全的访问通道,在该访问通道中,所有的数据都是通过加密传输,中间节点无法对数据进行篡改和劫持。具体实现方案是,可以基于http协议通过一个https安全代理服务器实现,也可以在客户端(例如浏览器)和安全代理服务器之间通过私有安全加密协议来实现。客户端和安全代理服务器之间通过https或者私有协议进行传输,中间节点无法劫持和篡改。目前的劫持都是发生在客户端到目标网站服务器这条链路上,安全代理服务器和目标服务器之间是通过运营商的主干网络进行传输,是安全的。
客户端:也称用户端,与服务器相对应,是指安装在终端设备上的用于为用户提供本地服务的应用程序(APP),如可以是WebApp。
业务服务器:提供特定业务服务的服务器,例如提供百度贴吧服务的百度贴吧服务器。
【方案概述】
如背景技术部分所述,用户在通过客户端与服务器(也即业务服务器)进行通信,以实现数据访问时,经常会受到中间节点的网络攻击,这无疑会降低用户的正常访问体验,并且存在一定的安全隐患。例如,获取的数据可能是被恶意篡改后的数据,因此还会给用户造成一定程度的风险。
目前,主要是通过安全代理服务器来避免这种网络攻击。但是,由于大量的数据访问请求会转移到安全代理服务器,因此会给安全代理服务器带来较大的负荷,并且,与客户端与服务器之间直接通信的方式相比,还会在一定程度上增加访问延时,影响用户的访问体验。
有鉴于此,本公开提出,可以在客户端(APP,例如WebApp)与业务服务器之间维护一个私有的协议(即下文述及的数据定制规则)。响应于客户端的访问请求,业务服务器可以基于该协议对要下发的数据进行定制,并且,客户端可以基于该协议对接收到的来自业务服务器的数据进行校验,以判断数据是否被篡改。由此,可以保证数据访问过程中所获取的数据的安全性。
进一步地,在判定数据未被篡改的情况下,可以直接将业务服务器下发的数据呈现给用户;在判定数据被篡改的情况下,可以通过安全代理服务器实现访问,获取数据。由此,在保证数据访问的安全性的同时,还可以实现数据访问的稳定性,并且还可以在一定程度上控制安全代理服务器的负载,达到安全和资源消耗的均衡。
本公开主要是针对客户端和业务服务器提出的一种数据访问方案。其中,客户端和业务服务器之间可以是属于同一业务方的自有业务的两端(客户端和服务器,例如百度贴吧客户端和百度贴吧服务器)。另外,客户端和业务服务器也可以不属于同一业务方,例如,客户端可以是浏览器,业务服务器可以是任意的用于提供网站访问服务的网站服务器。
由于本公开是基于客户端与业务服务器之间事先约定的私有协议实现的,因此本公开特别适用于客户端的发行者与业务服务器的提供者属于同一业务方的场景,即本公开特别适用于自有业务。这是因为,自有业务的客户端与业务服务器之间便于执行私有协议的约定。
下面就本公开涉及的各方面做进一步说明。
【客户端的数据访问】
图1是示出了根据本公开一实施例的数据访问方法的示意性流程图。其中,图1所示的方法可以由客户端执行。
参见图1,在步骤S110,预先保存针对一个或多个域名的数据定制规则。
这一个或多个域名为业务服务器提供业务服务所使用的域名。例如,业务服务器可以是网站服务器A,网站服务器A可以提供网页访问服务,并且网站服务器A可以提供一个或多个域名的访问服务,每个域名可以对应一个网址。其中,可以是每个域名对应一个数据定制规则,也可以是多个域名对应同一个数据定制规则,对此本公开不做限定。
预先保存的数据定制规则为与业务服务器约定好的私有规则。数据定制规则可以视为一种轻量级的自定义协议,其可以是基于标准http协议扩展的。其中,数据定制规则的具体内容可以根据需要设定,对此本公开不做限定。例如,数据定制规则可以用来定义一个数据插入规则,数据插入规则可以规定一个或多个插入位置及插入内容。例如,数据定制规则可以定义为,host:n1,byten1;n2,byten2,…;nn,bytesnn。该规则含义是,对于域名host,那么服务器返回的数据中,对于n1-nn位置的byte会进行数据插入,插入的内容分别为byten1,byten2,…,bytesnn。
作为示例,可以接收业务服务器下发的数据定制规则,并对业务服务器下发的数据定制规则进行规则解析,在解析结果表明数据定制规则正确的情况下,保存数据定制规则。其中,此处述及的规则解析可以理解为对下发的数据定制规则的逻辑是否合理进行解析,如果解析正确则保留规则,如果解析错误,则抛弃规则。
在步骤S120,响应于用户发出的针对一个或多个域名中的域名的访问请求,从业务服务器获取数据。
在用户发出的请求所针对的域名具有数据定制规则的情况下,业务服务器可以基于事先约定好的数据定制规则,对相应的数据进行定制,并将定制好的数据下发给客户端。也就是说,在用户发出的请求所针对的域名具有数据定制规则的情况下,从业务服务器获取的数据可以是基于数据定制规则进行定制后的数据。
在步骤S130,基于数据定制规则对获取的数据进行校验,以判断数据是否被篡改。
在数据未被篡改的情况下,从业务服务器获取的数据应为基于相应的数据定制规则定制的数据。因此,可以基于数据定制规则,对获取的数据进行校验,以判断数据是否被篡改。
以数据定制规则定义了数据插入规则,数据插入规则规定了一个或多个插入位置及插入内容为例,可以基于数据定制规则,对数据中每个插入位置及插入内容进行校验,并且,在所有插入位置及插入内容均正确的情况下,判定数据未被篡改。
在判定数据被篡改的情况下,可以通过安全代理服务器获取访问请求所请求的数据。其中,通过安全代理服务器进行数据访问的过程为本领域成熟技术,此处不再赘述。
在本公开的一个实施例中,响应于用户的访问请求,可以首先判断是否保存了与访问请求所针对的域名相对应的数据定制规则。在判定保存了与访问请求所请求的域名相对应的数据定制规则的情况下,可以基于相应的数据定制规则对基于该访问请求获取的数据进行校验。另外,在判定未保存与访问请求所针对的域名相对应的数据定制规则的情况下,可以通过安全代理服务器获取访问请求所请求的数据,以保证数据访问的安全性。
【服务端的数据下发】
图2是示出了根据本公开一实施例的数据下发方法的示意性流程图。其中,图2所示的方法可以由提供数据访问服务的业务服务器执行。
参见图2,在步骤S210,对于一个或多个域名,生成针对每个域名的数据定制规则。
此处述及的域名可以是业务服务器提供业务服务所使用的域名。
数据定制规则可以视为一种轻量级的自定义协议,其可以是基于标准http协议扩展的。其中,数据定制规则的具体内容可以根据需要设定,对此本公开也不做限定。例如,数据定制规则可以用来定义一个数据插入规则,数据插入规则可以规定一个或多个插入位置及插入内容。例如,数据定制规则可以定义为,host:n1,byten1;n2,byten2,…;nn,bytesnn。该规则含义是,对于域名host,那么服务器返回的数据中,对于n1-nn位置的byte会进行数据插入,插入的内容分别为byten1,byten2,…,bytesnn。
定制好的数据定制规则可以预先下发至客户端,以便客户端基于数据定制规则对接收到的数据进行校验。
在步骤S220,响应于接收到客户端的针对所述一个或多个域名中的域名的访问请求,基于相应的数据定制规则对访问请求所请求的数据进行定制,并将定制后的数据下发至客户端。
由此,客户端(即上文述及的客户端应用程序)在接收到业务服务器下发的数据后,可以按照相应的数据定制规则对接收到的数据进行校验。在校验结果表明数据不符合数据定制规则的情况下,可以判定数据被篡改,在校验结果表明数据符合数据定制规则的情况下,可以判定数据未被篡改。
在本公开的一个实施例中,响应于接收到客户端的访问请求,业务服务器可以首先查找该访问请求所针对的域名是否具有对应的数据定制规则,在查找到该访问请求所针对的域名具有对应的数据定制规则的情况下,可以基于查找到的数据定制规则对该访问请求所请求的数据进行定制。另外,在查找到该访问请求所针对的域名不具有对应的数据定制规则的情况下,可以按照正常的数据下发方式将访问请求所请求的数据进行下发。
需要说明的是,接收到的访问请求是客户端发送的,具体可以直接从客户端接收该访问请求,也可以从安全代理服务器接收其转发的客户端的访问请求。对此,本公开不做限定。在接收到的访问请求具有数据定制规则的情况下,可以将定制好的数据下发至客户端;在接收到的访问请求不具有数据定制规则的情况下,可以将数据下发至安全代理服务器,由安全代理服务器将其发送给客户端。
至此,结合图1、图2就本公开的基于客户端实现的数据访问方法和基于业务服务器实现的数据下发方法做了说明。优选地,用于执行数据访问方法的客户端的发行者与业务服务器的提供者可以属于同一业务方。并且,可以在客户端内集成用于辅助实现页面展示的软件开发工具包(Webview SDK),客户端可以通过该软件开发工具包(Webview SDK)实现上文述及的数据访问方法。
应用例
下面以客户与业务服务器属于自有业务,客户端内集成Webview SDK为例,做进一步说明。图3是示出了根据本公开一实施例的数据访问系统的结构示意图。
参见图3,数据访问系统主要包括客户端、自有业务服务器以及安全代理服务器。
客户端包括WebApp和Webview SDK两个相互通信的组件。自有业务服务器和安全代理服务器是相互独立的服务器。自有业务服务器在远端提供自有业务服务。
WebApp是用户直接可见的客户端,它内部集成了Webview SDK组件。Webview SDK对外提供一套接口,可以针对不同业务定制一套轻量级的私有协议用于Webview SDK和自有业务服务器进行访问。通过这种接口定制,Webview SDK的使用者可以轻易地检测出自有业务是否被攻击和篡改,并且通过安全通道对业务进行重新访问。
1、WebApp
下发控制模块是WebApp自己的控制通道,可以由业务服务器对WebApp进行配置更新。例如,可以接收业务服务器下发的配置更新文件,以实现WebApp的版本更新。
接口通信模块是WebApp和Webview SDK进行交互的通道,也可以把服务器配置更新内容传递给Webview SDK。
2、Webview SDK
配置管理模块位于Webview SDK内部,用于对服务器下发的配置进行管理和控制。在本公开中,主要用于对下发的数据定制规则进行管理和控制,当然还可以用于实现其它配置服务,如版本的更新。
网络收发模块是Webview SDK内部的网络模块,它与配置管理模块和数据校验模块关联,可以通过配置管理模块对自己进行定制;在网络模块收到数据之后会将数据投递到数据校验模块进行完整性校验。
在Webview SDK网络模块收到数据后,可以由数据校验模块对网络数据进行完整性校验;
安全代理服务器接口模块,位于Webview SDK内部,和安全代理服务器关联,可以将某一个网络请求通过安全代理服务器进行安全转发。
3、安全代理服务器
代理模块,位于代理服务器端,可以完成安全代理的功能。
4、自有业务服务器
服务器配置管理模块,服务器的额外配置接口,可以以插件的形式,对服务器的行为进行配置。
服务器插件模块,是服务器附加功能的模块化,可以完成某一个附加的定制逻辑功能。
正常业务模块,正常的服务提供模块,可以结合插件模块,为客户端提供某些定制功能。
规则配置过程如下。
可以由自有业务服务器对WebApp进行规则下发,例如可以通过host:rules这样的定义,把数据定制规则通过WebApp下发给Webview SDK。关于数据定制规则的定义可以参见上文相关描述,此处不再赘述。WebApp在收到来自自有业务服务器的规则后,可以把规则透传给Webview SDK,Webview SDK可以先对规则进行解析,如果规则解析正确,则可以把规则保存到配置管理模块,否则会丢弃规则。
与此同时,自有业务服务器可以下发同样的规则,并且对规则进行校验,对于有效的规则会保存到服务器配置里面。例如,可以由服务器配置模块生成规则,然后可以把新生成的规则更新到服务器插件模块内,由服务器插件模块对规则的有效性进行校验,如果有效则保存,无效则丢弃。
数据访问及下发流程如下。
响应于用户的访问请求,客户端可以将该访问请求发送至自有业务服务器,其中可以直接发送给自有业务服务器,也可以通过安全代理服务器进行请求转发,对此本公开不做限定。对于每个访问请求,Webview SDK先检查该请求所针对的域名是否有对应的规则,如果没有规则,那么走正常数据收发流程;如果有规则那么走规则校验流程。
自有业务服务器收到来自客户端的访问请求后,可以首先判断该访问请求所针对的域名是否具有数据定制规则。在判定访问请求所针对的域名不具有数据定制规则的情况下,可以返回正常的数据。优选地,可以将数据下发至安全代理服务器,由安全代理服务器将数据下发至客户端,例如可以下发至Webview SDK,由Webview SDK发送给客户端,走正常数据处理流程。
在判定该访问请求所针对的域名具有数据定制规则的情况下,可以基于相应的数据定制规则对要发送的数据进行定制,定制完成后,可以由服务器配置模块将数据下发至客户端。然后由Webview SDK根据规则,通过数据校验模块对相应的数据进行校验;如果校验通过,则认为数据完整,走正常数据处理流程;否则会认为数据受到篡改和破坏,并走安全代理服务器的数据获取通道,例如,可以将访问请求重新通过安全代理服务器进行投递,并从安全代理服务器获取自有业务服务器下发的数据。
作为本公开的一个示例,对于被判定为校验失败的请求可以放入重试队列,客户端可以检查重试队列里面请求是否有校验失败的标记,没有的话走普通的重试流程,有的话,通过代理服务器来对请求进行重新发送。
综上,本实施例提出了一种基于Webview SDK的保证自有业务稳定性的方案,可以让WebApp的使用者,在没有自己内核的情况下,快速便捷对自有业务进行攻击检测和保护,保证自有业务访问的稳定性。
通过本实施例,可以使得WebApp在没有自己内核的情况下定制自己业务的私有协议。可以在没有https的情况下,既保证自己业务的安全方案,又有效控制安全服务器的负载,达到一种安全和资源消耗的均衡。
【数据访问装置】
本公开的数据访问方法还可以实现为一种数据访问装置。
图4是示出了根据本公开一实施例的数据访问装置的结构的示意性方框图。其中,数据访问装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图4所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就数据访问装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关描述,这里不再赘述。
参见图4,数据访问装置400包括保存模块410、获取模块420以及校验模块430。
保存模块410用于预先保存针对一个或多个域名的数据定制规则,其中,一个或多个域名为业务服务器提供业务服务所使用的域名。获取模块420用于响应于用户发出的针对一个或多个域名中的域名的访问请求,从业务服务器获取数据。校验模块430用于基于数据定制规则对获取的数据进行校验,以判断数据是否被篡改。在校验模块430判定数据被篡改的情况下,获取模块420可以通过安全代理服务器重新获取访问请求所请求的数据。
如图5所示,可选地,保存模块410可以包括解析模块421和保存子模块423。
解析模块421用于对业务服务器下发的数据定制规则进行规则解析。保存子模块423用于在解析结果表明数据定制规则正确的情况下,保存数据定制规则。
如图4所示,数据访问装置400还可以可选地包括图中虚线框所示的判断模块440。判断模块440用于响应于用户的访问请求,判断是否保存了与访问请求所针对的域名相对应的数据定制规则,在判断模块440判定保存了与访问请求所针对的域名相对应的数据定制规则的情况下,校验模块对获取的数据进行校验。
另外,在判断模块440判定未保存与访问请求所针对的域名相对应的数据定制规则的情况下,获取模块420可以通过安全代理服务器获取访问请求所请求的数据。
数据定制规则定义了数据插入规则,数据插入规则规定了一个或多个插入位置及插入内容,校验模块基于数据定制规则,对数据中每个插入位置及插入内容进行校验,并且,在所有插入位置及插入内容均正确的情况下,判定数据未被篡改。
用于执行数据访问方法的客户端的发行者与业务服务器的提供者属于同一业务方。并且,数据访问装置400还可以可选地包括图中虚线框所示的继承模块450。集成模块450用于在客户端内集成用于辅助实现页面展示的软件开发工具包,客户端通过软件开发工具包实现数据访问方法。
【数据下发装置】
本公开的数据下发方法还可以实现为一种数据下发装置。
图6是示出了根据本公开一实施例的数据下发装置的结构的示意性方框图。其中,数据下发装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图6所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就数据下发装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关描述,这里不再赘述。
参见图6,数据下发装置600包括规则生成模块610、数据定制模块620以及下发模块630。
规则生成模块610用于对于一个或多个域名,生成针对每个所述域名的数据定制规则。数据定制模块620用于响应于接收到客户端的针对所述一个或多个域名中的域名的访问请求,基于相应的数据定制规则对所述访问请求所请求的数据进行定制。下发模块630用于将定制后的数据下发至所述客户端。另外,所述下发模块630还可以将所述数据定制规则下发至所述客户端。
如图6所示,数据下发装置还可以可选地包括图中虚线框所示的查找模块640。
查找模块640用于响应于接收到客户端的访问请求,查找该访问请求所针对的域名是否具有对应的数据定制规则,在所述查找模块640查找到该访问请求所针对的域名具有对应的数据定制规则的情况下,所述数据定制模块620可以基于查找到的数据定制规则对该访问请求所请求的数据进行定制。
【计算设备】
图7示出了根据本发明一实施例可用于实现上述数据访问方法或数据下发方法的数据处理的计算设备的结构示意图。
参见图7,计算设备700包括存储器710和处理器720。
处理器720可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器720可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器720可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器710可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器720或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器710可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器710可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器710上存储有可处理代码,当可处理代码被处理器720处理时,可以使处理器720执行上文述及的数据访问方法或数据下发方法。
上文中已经参考附图详细描述了根据本发明的数据访问和下发方法、装置及计算设备。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (17)
1.一种数据访问方法,其特征在于,包括:
预先保存针对一个或多个域名的数据定制规则,其中,所述一个或多个域名为业务服务器提供业务服务所使用的域名;
响应于用户发出的针对所述一个或多个域名中的域名的访问请求,从所述业务服务器获取数据;以及
基于所述数据定制规则对获取的数据进行校验,以判断所述数据是否被篡改。
2.根据权利要求1所述的数据访问方法,其特征在于,所述预先保存针对一个或多个域名的数据定制规则的步骤包括:
对所述业务服务器下发的数据定制规则进行规则解析;
在解析结果表明所述数据定制规则正确的情况下,保存所述数据定制规则。
3.根据权利要求1所述的数据访问方法,其特征在于,还包括:
响应于用户的访问请求,判断是否保存了与所述访问请求所针对的域名相对应的数据定制规则;以及
在判定保存了与所述访问请求所针对的域名相对应的数据定制规则的情况下,对获取的数据进行校验。
4.根据权利要求1所述的数据访问方法,其特征在于,还包括:
响应于用户的访问请求,判断是否保存了与所述访问请求所针对的域名相对应的数据定制规则;以及
在判定未保存与所述访问请求所针对的域名相对应的数据定制规则的情况下,通过安全代理服务器获取所述访问请求所请求的数据。
5.根据权利要求1所述的数据访问方法,其特征在于,还包括:
在判定所述数据被篡改的情况下,通过安全代理服务器重新获取所述访问请求所请求的数据。
6.根据权利要求1所述的数据访问方法,其特征在于,所述数据定制规则定义了数据插入规则,所述数据插入规则规定了一个或多个插入位置及插入内容,所述基于数据定制规则对获取的数据进行校验的步骤包括:
基于所述数据定制规则,对所述数据中每个插入位置及插入内容进行校验,并且,在所有插入位置及插入内容均正确的情况下,判定所述数据未被篡改。
7.根据权利要求1至6中任何一项所述的数据访问方法,其特征在于,用于执行所述数据访问方法的客户端的发行者与所述业务服务器的提供者属于同一业务方。
8.根据权利要7所述的数据访问方法,其特征在于,还包括:
在所述客户端内集成用于辅助实现页面展示的软件开发工具包,所述客户端通过所述软件开发工具包实现所述数据访问方法。
9.一种数据下发方法,其特征在于,包括;
对于一个或多个域名,生成针对每个所述域名的数据定制规则;以及
响应于接收到客户端的针对所述一个或多个域名中的域名的访问请求,基于相应的数据定制规则对所述访问请求所请求的数据进行定制,并将定制后的数据下发至所述客户端。
10.根据权利要求9所述的数据下发方法,其特征在于,还包括;
响应于接收到客户端的访问请求,查找该访问请求所针对的域名是否具有对应的数据定制规则;
在查找到该访问请求所针对的域名具有对应的数据定制规则的情况下,基于查找到的数据定制规则对该访问请求所请求的数据进行定制。
11.根据权利要求9所述的数据下发方法,其特征在于,还包括;
将所述数据定制规则下发至所述客户端。
12.一种数据访问装置,其特征在于,包括:
保存模块,用于预先保存针对一个或多个域名的数据定制规则,其中,所述一个或多个域名为业务服务器提供业务服务所使用的域名;
获取模块,用于响应于用户发出的针对所述一个或多个域名中的域名的访问请求,从所述业务服务器获取数据;以及
校验模块,用于基于所述数据定制规则对获取的数据进行校验,以判断所述数据是否被篡改。
13.根据权利要求12所述的数据访问装置,其特征在于,
在所述判断模块判定未保存与所述访问请求所针对的域名相对应的数据定制规则的情况下,所述获取模块通过安全代理服务器获取所述访问请求所请求的数据。
14.一种数据下发装置,其特征在于,包括;
规则生成模块,用于对于一个或多个域名,生成针对每个所述域名的数据定制规则;
数据定制模块,用于响应于接收到客户端的针对所述一个或多个域名中的域名的访问请求,基于相应的数据定制规则对所述访问请求所请求的数据进行定制;以及
下发模块,用于将定制后的数据下发至所述客户端。
15.根据权利要求14所述的数据下发装置,其特征在于,还包括;
查找模块,用于响应于接收到客户端的访问请求,查找该访问请求所针对的域名是否具有对应的数据定制规则,
在所述查找模块查找到该访问请求所针对的域名具有对应的数据定制规则的情况下,所述数据定制模块基于查找到的数据定制规则对该访问请求所请求的数据进行定制。
16.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-11中任何一项所述的方法。
17.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810940365.0A CN109284616B (zh) | 2018-08-17 | 2018-08-17 | 数据访问和数据下发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810940365.0A CN109284616B (zh) | 2018-08-17 | 2018-08-17 | 数据访问和数据下发方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284616A true CN109284616A (zh) | 2019-01-29 |
CN109284616B CN109284616B (zh) | 2022-02-11 |
Family
ID=65183673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810940365.0A Active CN109284616B (zh) | 2018-08-17 | 2018-08-17 | 数据访问和数据下发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284616B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769802A (zh) * | 2020-12-31 | 2021-05-07 | 微医云(杭州)控股有限公司 | 基于服务端的访问校验方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083582A (zh) * | 2007-06-22 | 2007-12-05 | 华中科技大学 | 基于hl7代理服务器的异构医疗信息集成系统 |
CN103532668A (zh) * | 2013-10-12 | 2014-01-22 | 成都阜特科技股份有限公司 | 一种确保tcp通信数据完整及正确的方法 |
CN104035753A (zh) * | 2013-03-04 | 2014-09-10 | 优视科技有限公司 | 一种双WebView展示定制页面的方法及系统 |
CN104270395A (zh) * | 2014-10-24 | 2015-01-07 | 中国建设银行股份有限公司 | 一种输入数据校验的方法、装置及系统 |
CN106790334A (zh) * | 2015-11-25 | 2017-05-31 | 广州市动景计算机科技有限公司 | 一种页面数据传输方法及系统 |
CN106878345A (zh) * | 2017-04-25 | 2017-06-20 | 杭州迪普科技股份有限公司 | 一种篡改防护的方法及装置 |
CN107872437A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 一种用于业务请求的方法、装置及服务器 |
-
2018
- 2018-08-17 CN CN201810940365.0A patent/CN109284616B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083582A (zh) * | 2007-06-22 | 2007-12-05 | 华中科技大学 | 基于hl7代理服务器的异构医疗信息集成系统 |
CN104035753A (zh) * | 2013-03-04 | 2014-09-10 | 优视科技有限公司 | 一种双WebView展示定制页面的方法及系统 |
CN103532668A (zh) * | 2013-10-12 | 2014-01-22 | 成都阜特科技股份有限公司 | 一种确保tcp通信数据完整及正确的方法 |
CN104270395A (zh) * | 2014-10-24 | 2015-01-07 | 中国建设银行股份有限公司 | 一种输入数据校验的方法、装置及系统 |
CN106790334A (zh) * | 2015-11-25 | 2017-05-31 | 广州市动景计算机科技有限公司 | 一种页面数据传输方法及系统 |
CN107872437A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 一种用于业务请求的方法、装置及服务器 |
CN106878345A (zh) * | 2017-04-25 | 2017-06-20 | 杭州迪普科技股份有限公司 | 一种篡改防护的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769802A (zh) * | 2020-12-31 | 2021-05-07 | 微医云(杭州)控股有限公司 | 基于服务端的访问校验方法、装置、电子设备及存储介质 |
CN112769802B (zh) * | 2020-12-31 | 2022-09-30 | 微医云(杭州)控股有限公司 | 基于服务端的访问校验方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109284616B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019295815B2 (en) | Blockchain-based data verification method and apparatus, and electronic device | |
US20210049608A1 (en) | Transaction method and system based on centralized clearing and blockchain record keeping | |
CN110750747B (zh) | 一种页面跳转方法、装置、设备及可读存储介质 | |
RU2430409C2 (ru) | Методология измерения покрытия в структурном состоянии взаимного соединения | |
CN105940654B (zh) | 特权静态被托管的web应用 | |
CN104137076B (zh) | 用于验证应用的方法和设备 | |
WO2019137214A1 (zh) | 一种页面显示方法和装置 | |
CN104798094B (zh) | 确定内容项目显示环境的配置 | |
CN103577526B (zh) | 一种验证页面是否被修改的方法、系统及浏览器 | |
CN109376534B (zh) | 用于检测应用的方法和装置 | |
US20180046525A1 (en) | Fast and accurate identification of message-based api calls in application binaries | |
RU2734027C2 (ru) | Способ и устройство для предотвращения атаки на сервер | |
CN106878370A (zh) | 一种本地缓存的更新方法和设备 | |
CN107547524A (zh) | 一种网页检测方法、装置和设备 | |
CN106899549A (zh) | 一种网络安全检测方法及装置 | |
CN109710695A (zh) | 事务请求有效性识别和发起方法、装置、设备和介质 | |
CN114116078A (zh) | 基于微前端的应用数据处理方法、装置、设备及介质 | |
CN109284616A (zh) | 数据访问和数据下发方法、装置、设备及存储介质 | |
CN116881173B (zh) | 接口参数的检测方法、装置、电子设备和计算机可读介质 | |
CN110059476A (zh) | 一种应用的访问方法、装置及设备 | |
CN102915360B (zh) | 呈现网站的相关信息的系统 | |
CN108470043A (zh) | 一种业务结果的获取方法及装置 | |
US20180300498A1 (en) | Cognitive api policy manager | |
CN106817296A (zh) | 信息推荐的测试方法、装置以及电子设备 | |
US20170249238A1 (en) | Virtual Test Environment for Webpages with Automation Features |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210104 Address after: 310052 room 508, 5th floor, building 4, No. 699 Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: A706, 7 / F, block a, B-6 building, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing 100083 Applicant before: UC MOBILE Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |