CN112182617A - 针对接口请求的处理方法、装置及系统 - Google Patents
针对接口请求的处理方法、装置及系统 Download PDFInfo
- Publication number
- CN112182617A CN112182617A CN202011052741.6A CN202011052741A CN112182617A CN 112182617 A CN112182617 A CN 112182617A CN 202011052741 A CN202011052741 A CN 202011052741A CN 112182617 A CN112182617 A CN 112182617A
- Authority
- CN
- China
- Prior art keywords
- interface request
- feature
- interface
- browser
- ciphertext
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 4
- 230000001680 brushing effect Effects 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
Images
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/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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及针对接口请求的处理方法、装置及系统、计算机可存储介质,涉及互联网技术领域。由浏览器执行的针对接口请求的处理方法包括:利用部署在所述浏览器的加密程序,获取与当前网页对应的特征信息,并对所述特征信息进行加密,得到与所述当前网页对应的特征密文,所述加密程序是浏览器可识别的编译文件;生成并发送包括所述特征密文的接口请求。根据本公开,可以提高接口访问的安全性。
Description
技术领域
本公开涉及互联网技术领域,特别涉及针对接口请求的处理方法、装置及系统、计算机可存储介质。
背景技术
HTML(HyperText Markup Language,超文本标记语言)、CSS(Cascading StyleSheets,层叠样式表)、JS(JavaScript)等前端技术已成为当前最主流的开发技术。前端项目具有快速、适应性强、跨平台等优势,特别是在移动端有更好的表现。在AJAX(Asynchronous JavaScript And Extensible Markup Language,异步JavaScript和可扩展标记语言)技术出现后,前后分离开发也成为最主要的开发方式。前后分离开发是指前端编写页面,通过异步方式调用服务器端的JSON(JavaScript Object Notation,JS对象简谱)数据接口。但是,由于网络安全问题日益严峻,对服务器端的接口的安全性要求也越来越高。另外,目前存在大量的通过作弊手段伪装真实用户实现刷量的非法操作,这些非法操作为计算机信息系统安全和网络空间管理秩序,甚至是国家安全、社会政治稳定带来重大安全隐患,因此提高接口防刷标准成为提高服务器端的接口的安全性的关键。
相关技术中,前端通过JS加密的方式将前端参数(即网页参数)进行加密,并将加密后的密文发送给服务器端,服务器端对密文进行解密获取前端传递的参数,从而实现前端调用服务器端的接口。
发明内容
发明人认为:JS是解释性语言,前端或客户端可以获取页面代码,从而可以伪造前端或客户端的接口请求来实现对服务器端接口的不合法调用,接口访问的安全性差。
针对上述技术问题,本公开提出了一种解决方案,可以提高接口访问的安全性。
根据本公开的第一方面,提供了一种针对接口请求的处理方法,由浏览器执行,包括:利用部署在所述浏览器的加密程序,获取与当前网页对应的特征信息,并对所述特征信息进行加密,得到与所述当前网页对应的特征密文,所述加密程序是浏览器可识别的编译文件;生成并发送包括所述特征密文的接口请求。
在一些实施例中,对所述特征信息进行加密包括:根据所述加密程序中的预设密钥,利用高级加密标准AES加密算法对所述特征信息进行加密得到对应的特征密文。
在一些实施例中,所述特征信息包括所述当前网页的网页特征信息和所述当前网页的网络时间戳,所述网页特征信息包括网页链接。
在一些实施例中,所述编译文件为wasm格式的编译文件。
根据本公开第二方面,提供了一种针对接口请求的处理方法,包括:接收浏览器发送的针对当前网页的接口请求,所述接口请求利用上述任一实施例所述的针对接口请求的处理方法生成;对所述接口请求包括的特征密文进行解密操作;根据所述解密操作的结果,判断所述接口请求是否有效;在所述接口请求有效的情况下,处理所述接口请求。
在一些实施例中,所述特征信息包括所述当前网页的网页特征信息,判断所述接口请求是否有效包括:在所述解密操作的结果为解密得到与所述特征密文对应的特征明文的情况下,对所述特征明文的格式和预设特征明文格式进行匹配操作;在匹配成功的情况下,根据所述特征明文的格式,获取所述特征明文中的网页特征信息;根据获取到的所述特征明文中的网页特征信息,判断所述接口请求是否有效;在匹配失败的情况下,判断所述接口请求无效。
在一些实施例中,所述特征信息还包括所述当前网页的网络时间戳,根据获取到的所述特征明文中的网页特征信息,判断所述接口请求是否有效包括:在所述特征明文中的网页特征信息属于白名单的情况下,根据所述特征明文的格式,获取所述特征明文中的网络时间戳,所述白名单包括与至少一个网页对应的网页特征信息;根据获取到的所述特征明文中的网络时间戳,判断所述接口请求是否有效。
在一些实施例中,所述方法由服务器执行,根据获取到的所述特征明文中的网络时间戳,判断所述接口请求是否有效包括:获取所述服务器的系统时间戳;判断所述特征明文中的网络时间戳和所述系统时间戳之间的间隔时长是否位于预设的有效时限内;在所述间隔时长位于所述有效时限内的情况下,判断所述接口请求有效。
在一些实施例中,对所述接口请求包括的特征密文进行解密操作包括:根据预先存储的预设密钥,利用高级加密标准AES解密算法对所述特征密文进行解密操作。
根据本公开第三方面,提供了一种针对接口请求的处理装置,包括:获取生成模块,被配置为利用部署在所述浏览器的加密程序,获取与当前网页对应的特征信息,所述加密程序是浏览器可识别的编译文件;加密模块,被配置为利用所述加密程序,对所述特征信息进行加密,得到与所述当前网页对应的特征密文;生成模块,被配置为生成包括所述特征密文的接口请求;发送模块,被配置为发送所述接口请求。
根据本公开第四方面,提供了一种针对接口请求的处理装置,包括:接收模块,被配置为接收浏览器发送的针对当前网页的接口请求,所述接口请求利用上述任一实施例所述的针对接口请求的处理方法生成;解密模块,被配置为对所述接口请求包括的特征密文进行解密操作;判断模块,被配置为根据所述解密操作的结果,判断所述接口请求是否有效;处理模块,被配置为在所述接口请求有效的情况下,处理所述接口请求。
根据本公开的第五方面,提供了一种针对接口请求的处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的针对接口请求的处理方法。
根据本公开的第六方面,提供了一种针对接口请求的处理系统,包括:浏览器,被配置为:利用部署在所述浏览器的加密程序,获取与当前网页对应的特征信息,并对所述特征信息进行加密,得到与所述当前网页对应的特征密文,所述加密程序是浏览器可识别的编译文件,生成并发送包括所述特征密文的接口请求;服务器,被配置为:接收所述浏览器发送的所述接口请求,对所述接口请求包括的特征密文进行解密操作,根据所述解密操作的结果,判断所述接口请求是否有效,在所述接口请求有效的情况下,处理所述接口请求。
根据本公开的第七方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的针对接口请求的处理方法。
在上述实施例中,加密程序部署在浏览器中,在物理上是非隔离的,可以避免远端调用加密程序的过程中被劫持或被非法调用的问题,并且加密程序为浏览器可识别的编译文件,非法人员无法获取加密程序的内部处理逻辑,无法在前端看到源码,从而也就无法进行特征密文的伪造,可以提高接口访问的安全性。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是示出根据本公开一些实施例的针对接口请求的处理方法的流程图;
图2是示出根据本公开另一些实施例的针对接口请求的处理方法的流程图;
图3是示出根据本公开一些实施例的根据解密操作的结果判断接口请求是否有效的流程图;
图4是示出根据本公开另一些实施例的根据解密操作的结果判断接口请求是否有效的流程图;
图5是示出根据本公开一些实施例的针对接口请求的处理装置的框图;
图6是示出根据本公开另一些实施例的针对接口请求的处理装置的框图;
图7是示出根据本公开一些实施例的针对接口请求的处理系统的框图;
图8是示出根据本公开再一些实施例的针对接口请求的处理装置的框图;
图9是示出用于实现本公开一些实施例的计算机系统的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出根据本公开一些实施例的针对接口请求的处理方法的流程图。
如图1所示,针对接口请求的处理方法包括步骤S10-步骤S30。由浏览器执行步骤S10-步骤S30。
在步骤S10中,利用部署在浏览器的加密程序,获取与当前网页对应的特征信息。加密程序是浏览器可识别的编译文件。
在步骤S11中,利用前述加密程序,对获取到的特征信息进行加密,得到与当前网页对应的特征密文。在一些实施例中,可以根据加密程序中的预设密钥,利用AES(AdvancedEncryption Standard,高级加密标准)加密算法对与当前网页对应的特征信息进行加密得到对应的特征密文。例如,预设密钥为一个预先定义的字符串。
例如,浏览器利用部署在浏览器的调用程序来调用加密程序,获取特征信息并对特征信息进行加密,得到与当前网页对应的特征密文。在一些实施例中,可以为加密程序编写一个调用接口,并采用JavaScript技术实现上述部署在浏览器的调用程序。
在一些实施例中,前述的特征信息包括当前网页的网页特征信息和当前网页的网络时间戳。网络时间戳表示当前网页的当前网络时间。例如,当前网络时间精确到毫秒值。
在一些实施例中,网页特征信息包括网页链接。例如,网页特征信息还可以包括Cookie(储存在用户本地终端上的数据)信息和header(头部)信息中的至少一种。header信息包括Referer(引用)信息。
例如,加密程序通过对获取函数和加密函数进行编译得到。获取函数用于获取与当前网页对应的特征信息。加密函数用于对特征信息进行加密得到对应的特征密文。获取函数和加密函数由开发人员编写,加密程序由开发人员利用编译工具对获取函数和加密函数执行编译操作得到。在一些实施例中,前述浏览器可识别的编译文件为wasm(Webassembly)格式的编译文件(二进制文件),下面简称为wasm文件。
不同于JavaScript文件,wasm文件为可以被浏览器识别的二进制文件,且wasm文件通过查看源码的方式得到加密程序所获取的信息和加密的逻辑,能够从而也就无法进行特征密文的伪造,可以提高接口访问的安全性。
下面以编译文件为wasm文件为例,对加密程序进行详细的解释说明。
在一些实施例中,加密程序是基于WebAssembly技术,使用rust语言的wasm-bindgen模块进行开发实现的。例如,在编写获取函数的过程中,通过调用wasm-bindgen模块的相关API(Application Programming Interface,应用程序接口)来获取与网页对应的特征信息。在编写加密函数的过程中,利用一些加密算法对获取函数获取到的特征信息进行加密得到特征密文。在一些实施例中,上述相关API包括但不限于Window、Document和Element等API,使用这些API可以操作网页。wasm-bindgen模块是一个用于促进wasm模块和JavaScript之间进行高级交互的项目,可以改进JavaScript和Rust代码之间的互操作性。
在完成获取函数和加密函数的代码编写后,利用wasm-pack对由获取函数和加密函数构成的模块进行编译打包,输出wasm文件和调用wasm文件的JavaScript文件。wasm文件为加密程序,调用wasm文件的JavaScript文件为用于浏览器调用加密程序的调用程序。例如,可以通过加载的方式将wasm文件和调用wasm文件的JavaScript文件部署到浏览器本地,使得浏览器利用调用wasm文件的JavaScript文件来调用wasm文件,生成与当前网页对应的特征密文。wasm-pack是由Rust-Wasm官方工作组开发的并用于构建wasm应用程序的工具。
在步骤S20中,生成包括与当前网页对应的特征密文的接口请求。
在步骤S30中,发送上述生成的接口请求。例如,将接口请求发送到服务器。
在上述实施例中,加密程序部署在浏览器中,在物理上是非隔离的,可以避免远端调用加密程序的过程中被劫持或被非法调用的问题。并且,加密程序为浏览器可识别的编译文件,非法人员无法获取加密程序的内部处理逻辑,无法在前端看到源码,从而也就无法进行特征密文的伪造。综上,通过将以浏览器可识别的编译文件的形式,将加密程序部署在浏览器中,可以提高接口访问的安全性。
图2是示出根据本公开另一些实施例的针对接口请求的处理方法的流程图。
如图2所示,针对接口请求的处理方法包括步骤S40-步骤S70。例如,由服务器执行步骤S40-步骤S70。
在步骤S40中,接收浏览器发送的针对当前网页的接口请求。该接口请求为利用上述任意实施例中的针对接口请求的处理方法生成的接口请求。
在步骤S50中,对接口请求包括的特征密文进行解密操作。例如,根据预先存储的预设密钥,利用高级加密标准AES解密算法对特征密文进行解密操作。此处预先存储的预设密钥和加密程序中利用的预设密钥相同。
在步骤S60中,根据解密操作的结果,判断接口请求是否有效。通过对利用上述加密程序生成的特征密文进行解密,来判断接口请求的有效性,可以进一步提高接口访问的安全性,也可以降低由于大量无效的接口调用给接口带来的巨大压力。
下面将结合图3、图4详细描述上述步骤S60。
图3是示出根据本公开一些实施例的根据解密操作的结果判断接口请求是否有效的流程图。
如图3所示,根据解密操作的结果判断接口请求是否有效包括步骤S61-步骤S63。在本实施例中,特征信息包括当前网页的网页特征信息。
在步骤S61中,判断解密操作的结果是否为解密得到与特征密文对应的特征明文。
在解密操作的结果为解密得到与特征密文对应的特征明文情况下,执行步骤S621-步骤S622。
在步骤S621中,对特征明文的格式和预设特征明文格式进行匹配操作。通过进行格式匹配,可以判断解密出来的特征明文是否符合与特征密文对应的预设特征明文格式,从而进一步判断解密操作是否是正确的与特征密文对应的特征明文,提高接口请求的有效性判断的准确性,降低伪造的风险,从而提高接口访问的安全性,进一步降低接口访问的压力。
在步骤S622中,判断匹配操作是否成功。例如,在特征明文的格式和预设特征明文格式相同的情况下,匹配操作成功。
例如,在匹配失败的情况下,执行步骤S63。在步骤S63中,判断接口请求无效。
又例如,在匹配成功的情况下,执行步骤S624-步骤S625。
在步骤S624中,根据特征明文的格式,获取特征明文中的网页特征信息。
在步骤S625中,根据获取到的特征明文中的网页特征信息,判断接口请求是否有效。
根据解密操作的结果判断接口请求是否有效还包括步骤S63。在解密操作的结果为无法解密得到与特征密文对应的特征明文的情况下,执行步骤S63。
图4是示出根据本公开另一些实施例的根据解密操作的结果判断接口请求是否有效的流程图。在该实施例中,特征信息还包括当前网页的网络时间戳。
如图4所示,图4与图3的不同之处在于,图4示出了另一些实施例的根据获取到的特征明文中的网页特征信息判断接口请求是否有效的步骤S6251-步骤S6253。下面将仅描述图4与图3的不同之处,相同之处不再赘述。
在步骤S6251中,判断特征明文中的网页特征信息是否属于白名单。特征明文中的网页特征信息就是当前网页的网页特征信息。白名单包括与至少一个网页对应的网页特征信息。白名单中的网页特征信息表征了能够访问接口的网页。
通过利用白名单对接口请求的有效性进行进一步判断,可以进一步提高接口请求的有效性判断的准确性,降低伪造的风险,从而进一步提高接口访问的安全性,进一步降低接口访问的压力。
在特征明文中的网页特征信息属于白名单的情况下,执行步骤S6252-步骤S6253。
在步骤S6252中,根据特征明文的格式,获取特征明文中的网络时间戳。
在步骤S6253中,根据获取到的特征明文中的网络时间戳,判断接口请求是否有效。
下面将以由服务器执行前述针对接口请求的处理方法为例,详细说明实现上述步骤S6253的过程。
首先,获取服务器的系统时间戳。
然后,判断特征明文中的网络时间戳和系统时间戳之间的间隔时长是否位于预设的有效时限内。例如,有效时限为五分钟或一个小时。根据不同的业务需求,可以设置不同的有效时限。
通过结合有效实现对接口请求的有效性进行进一步判断,可以降低非法人员在偶然获取到特征密文后,直接利用特征密文伪造接口请求的风险,提高接口请求的有效性判断的准确性,从而提高接口访问的安全性,进一步降低接口访问的压力。
最后,在间隔时长位于有效时限内的情况下,判断接口请求有效。
在一些实施例中,在间隔时长没有位于有效时限内的情况下,判断接口请求无效,即执行步骤S63。
在一些实施例中,在特征明文中的网页特征信息不属于白名单的情况下,执行步骤S63。
返回图2,在步骤S70中,在接口请求有效的情况下,处理该接口请求。在一些实施例中,在接口请求无效的情况下,拒绝处理该接口请求。
图5是示出根据本公开一些实施例的针对接口请求的处理装置的框图。
如图5所示,针对接口请求的处理装置51包括获取模块510、加密模块511、生成模块512和发送模块513。例如,针对接口请求的处理装置51为浏览器。
获取模块510被配置为利用部署在所述浏览器的加密程序,获取与当前网页对应的特征信息,例如执行如图1所示的步骤S10。加密程序是浏览器可识别的编译文件。
在一些实施例中,特征信息包括当前网页的网页特征信息和当前网页的网络时间戳。网络时间戳表示当前网页的当前网络时间。例如,当前网络时间精确到毫秒值。
在一些实施例中,网页特征信息包括网页链接。例如,网页特征信息还可以包括Cookie(储存在用户本地终端上的数据)信息和header(头部)信息中的至少一种。header信息包括Referer(引用)信息。
加密模块511被配置为利用部署在浏览器的加密程序,对获取到的特征信息进行加密,得到与当前网页对应的特征密文,例如执行如图1所示的步骤S11。
例如,加密程序通过对获取函数和加密函数进行编译得到。获取函数用于获取与当前网页对应的特征信息。加密函数用于对特征信息进行加密得到对应的特征密文。获取函数和加密函数由开发人员编写,加密程序由开发人员利用编译工具对获取函数和加密函数执行编译操作得到。在一些实施例中,前述浏览器可识别的编译文件为wasm(Webassembly)格式的编译文件(二进制文件),下面简称为wasm文件。
不同于JavaScript文件,wasm文件为可以被浏览器识别的二进制文件,且wasm文件通过查看源码的方式得到加密程序所获取的信息和加密的逻辑,能够从而也就无法进行特征密文的伪造,可以提高接口访问的安全性。
下面以编译文件为wasm文件为例,对加密程序进行详细的解释说明。
在一些实施例中,加密程序是基于WebAssembly技术,使用rust语言的wasm-bindgen模块进行开发实现的。例如,在编写获取函数的过程中,通过调用wasm-bindgen模块的相关API(Application Programming Interface,应用程序接口)来获取与网页对应的特征信息。在编写加密函数的过程中,利用一些加密算法对获取函数获取到的特征信息进行加密得到特征密文。在一些实施例中,上述相关API包括但不限于Window、Document和Element等API,使用这些API可以操作网页。wasm-bindgen模块是一个用于促进wasm模块和JavaScript之间进行高级交互的项目,可以改进JavaScript和Rust代码之间的互操作性。
生成模块512被配置为生成包括特征密文的接口请求,例如执行如图1所示的步骤S20。
发送模块513被配置为发送接口请求,例如执行如图1所示的步骤S30。在一些实施例中,可以将接口请求发送到服务器。
在上述实施例中,加密程序部署在浏览器中,在物理上是非隔离的,可以避免远端调用加密程序的过程中被劫持或被非法调用的问题。并且,加密程序为浏览器可识别的编译文件,非法人员无法获取加密程序的内部处理逻辑,无法在前端看到源码,从而也就无法进行特征密文的伪造。综上,通过将以浏览器可识别的编译文件的形式,将加密程序部署在浏览器中,可以提高接口访问的安全性。
图6是示出根据本公开另一些实施例的针对接口请求的处理装置的框图。
如图6所示,针对接口请求的处理装置62包括接收模块621、解密模块622、判断模块623和处理模块624。例如,针对接口请求的处理装置62为服务器。
接收模块621被配置为接收浏览器发送的针对当前网页的接口请求,例如执行如图2所示的步骤S40。该接口请求为浏览器利用前述任意实施例中的针对接口请求的处理方法生成的接口请求。
解密模块622被配置为对接口请求包括的特征密文进行解密操作,例如执行如图2所示的步骤S50。例如,根据预先存储的预设密钥,利用高级加密标准AES解密算法对特征密文进行解密操作。此处预先存储的预设密钥和加密程序中利用的预设密钥相同。
判断模块623被配置为根据解密操作的结果,判断接口请求是否有效,例如执行如图2所示的步骤S60。通过对利用上述加密程序生成的特征密文进行解密,来判断接口请求的有效性,可以进一步提高接口访问的安全性,也可以降低由于大量无效的接口调用给接口带来的巨大压力。
在一些实施例中,在解密操作的结果为解密得到与特征密文对应的特征明文的情况下,对特征明文的格式和预设特征明文格式进行匹配操作。
在匹配成功的情况下,根据特征明文的格式,获取特征明文中的网页特征信息。根据获取到的特征明文中的网页特征信息,判断接口请求是否有效;
在匹配失败的情况下,判断接口请求无效。
处理模块624被配置为在接口请求有效的情况下,处理接口请求,例如执行如图2所示的步骤S70。在一些实施例中,在接口请求无效的情况下,拒绝处理该接口请求。
图7是示出根据本公开一些实施例的针对接口请求的处理系统的框图。
如图7所示,针对接口请求的处理系统7包括浏览器71和服务器72。
浏览器71被配置为利用部署在浏览器的加密程序,获取与当前网页对应的特征信息,并对该特征信息进行加密,得到与当前网页对应的特征密文,并生成并发送包括所述特征密文的接口请求。加密程序是浏览器可识别的编译文件,例如执行如图1所示的步骤S10-步骤S30。在一些实施例中,浏览器71与图5的针对接口请求的处理装置51的结构和功能相同或类似。
服务器72被配置为:接收浏览器发送的接口请求;对接口请求包括的特征密文进行解密操作;根据解密操作的结果,判断接口请求是否有效;并在接口请求有效的情况下,处理接口请求,例如执行如图2所示的步骤S40-步骤S70。在一些实施例中,服务器72与图6的针对接口请求的处理装置62的结构和功能相同或类似。
图8是示出根据本公开再一些实施例的针对接口请求的处理装置的框图。
如图8所示,针对接口请求的处理装置8包括存储器81;以及耦接至该存储器81的处理器82。存储器81用于存储执行针对接口请求的处理方法对应实施例的指令。处理器82被配置为基于存储在存储器81中的指令,执行本公开中任意一些实施例中的针对接口请求的处理方法。
图9是示出用于实现本公开一些实施例的计算机系统的框图。
如图9所示,计算机系统90可以通用计算设备的形式表现。计算机系统90包括存储器910、处理器920和连接不同系统组件的总线900。
存储器910例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行针对接口请求的处理方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器920可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线900可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
计算机系统90还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930、940、950以及存储器910和处理器920之间可以通过总线900连接。输入输出接口930可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的针对接口请求的处理方法、装置及系统、计算机可存储介质,可以提高接口访问的安全性。
至此,已经详细描述了根据本公开的针对接口请求的处理方法、装置及系统、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
Claims (15)
1.一种针对接口请求的处理方法,由浏览器执行,包括:
利用部署在所述浏览器的加密程序,获取与当前网页对应的特征信息,并对所述特征信息进行加密,得到与所述当前网页对应的特征密文,所述加密程序是浏览器可识别的编译文件;
生成并发送包括所述特征密文的接口请求。
2.根据权利要求1所述的针对接口请求的处理方法,其中,对所述特征信息进行加密包括:
根据所述加密程序中的预设密钥,利用高级加密标准AES加密算法对所述特征信息进行加密得到对应的特征密文。
3.根据权利要求1所述的针对接口请求的处理方法,其中,所述特征信息包括所述当前网页的网页特征信息和所述当前网页的网络时间戳,所述网页特征信息包括网页链接。
4.根据权利要求1-3任一项所述的针对接口请求的处理方法,其中,所述编译文件为wasm格式的编译文件。
5.一种针对接口请求的处理方法,包括:
接收浏览器发送的针对当前网页的接口请求,所述接口请求利用如权利要求1-4任一项所述的针对接口请求的处理方法生成;
对所述接口请求包括的特征密文进行解密操作;
根据所述解密操作的结果,判断所述接口请求是否有效;
在所述接口请求有效的情况下,处理所述接口请求。
6.根据权利要求5所述的针对接口请求的处理方法,其中,所述特征信息包括所述当前网页的网页特征信息,判断所述接口请求是否有效包括:
在所述解密操作的结果为解密得到与所述特征密文对应的特征明文的情况下,对所述特征明文的格式和预设特征明文格式进行匹配操作;
在匹配成功的情况下,根据所述特征明文的格式,获取所述特征明文中的网页特征信息;
根据获取到的所述特征明文中的网页特征信息,判断所述接口请求是否有效;
在匹配失败的情况下,判断所述接口请求无效。
7.根据权利要求6所述的针对接口请求的处理方法,其中,所述特征信息还包括所述当前网页的网络时间戳,根据获取到的所述特征明文中的网页特征信息,判断所述接口请求是否有效包括:
在所述特征明文中的网页特征信息属于白名单的情况下,根据所述特征明文的格式,获取所述特征明文中的网络时间戳,所述白名单包括与至少一个网页对应的网页特征信息;
根据获取到的所述特征明文中的网络时间戳,判断所述接口请求是否有效。
8.根据权利要求7所述的针对接口请求的处理方法,其中,所述方法由服务器执行,根据获取到的所述特征明文中的网络时间戳,判断所述接口请求是否有效包括:
获取所述服务器的系统时间戳;
判断所述特征明文中的网络时间戳和所述系统时间戳之间的间隔时长是否位于预设的有效时限内;
在所述间隔时长位于所述有效时限内的情况下,判断所述接口请求有效。
9.根据权利要求5所述的针对接口请求的处理方法,其中,对所述接口请求包括的特征密文进行解密操作包括:
根据预先存储的预设密钥,利用高级加密标准AES解密算法对所述特征密文进行解密操作。
10.根据权利要求5所述的针对接口请求的处理方法,其中,判断所述接口请求是否有效包括:
在所述解密操作的结果为无法解密得到与所述特征密文对应的特征明文的情况下,判断所述接口请求无效。
11.一种针对接口请求的处理装置,包括:
获取模块,被配置为利用部署在所述浏览器的加密程序,获取与当前网页对应的特征信息,所述加密程序是浏览器可识别的编译文件;
加密模块,被配置为利用所述加密程序,对所述特征信息进行加密,得到与所述当前网页对应的特征密文;
生成模块,被配置为生成包括所述特征密文的接口请求;
发送模块,被配置为发送所述接口请求。
12.一种针对接口请求的处理装置,包括:
接收模块,被配置为接收浏览器发送的针对当前网页的接口请求,所述接口请求利用如权利要求1-4任一项所述的针对接口请求的处理方法生成;
解密模块,被配置为对所述接口请求包括的特征密文进行解密操作;
判断模块,被配置为根据所述解密操作的结果,判断所述接口请求是否有效;
处理模块,被配置为在所述接口请求有效的情况下,处理所述接口请求。
13.一种针对接口请求的处理装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至10任一项所述的针对接口请求的处理方法。
14.一种针对接口请求的处理系统,包括:
浏览器,被配置为:
利用部署在所述浏览器的加密程序,获取与当前网页对应的特征信息,并对所述特征信息进行加密,得到与所述当前网页对应的特征密文,所述加密程序是浏览器可识别的编译文件,
生成并发送包括所述特征密文的接口请求;
服务器,被配置为:
接收所述浏览器发送的所述接口请求,
对所述接口请求包括的特征密文进行解密操作,
根据所述解密操作的结果,判断所述接口请求是否有效,
在所述接口请求有效的情况下,处理所述接口请求。
15.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至10任一项所述的针对接口请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011052741.6A CN112182617A (zh) | 2020-09-29 | 2020-09-29 | 针对接口请求的处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011052741.6A CN112182617A (zh) | 2020-09-29 | 2020-09-29 | 针对接口请求的处理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112182617A true CN112182617A (zh) | 2021-01-05 |
Family
ID=73947032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011052741.6A Pending CN112182617A (zh) | 2020-09-29 | 2020-09-29 | 针对接口请求的处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182617A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296653A (zh) * | 2021-07-27 | 2021-08-24 | 阿里云计算有限公司 | 一种仿真交互模型构建方法、交互方法及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283606A1 (en) * | 2013-09-17 | 2016-09-29 | Beijing Qihoo Technology Company Limited | Method for performing webpage loading, device and browser thereof |
US10127389B1 (en) * | 2015-03-30 | 2018-11-13 | Amazon Technologies, Inc. | Performing operations on intelligent storage with hardened interfaces |
CN109450868A (zh) * | 2018-10-22 | 2019-03-08 | 四川中电启明星信息技术有限公司 | web浏览器输入数据的验证方法、装置及可读存储介质 |
CN109918934A (zh) * | 2019-03-15 | 2019-06-21 | 山东省农业机械科学研究院 | 基于aes三层动态加密技术的研发数据安全与保密系统 |
CN110489942A (zh) * | 2019-08-06 | 2019-11-22 | 南开大学 | 一种WebAssembly文件的处理方法及系统 |
CN111182010A (zh) * | 2018-11-09 | 2020-05-19 | 杭州海康威视数字技术股份有限公司 | 一种本地服务提供方法及装置 |
CN111629214A (zh) * | 2020-06-05 | 2020-09-04 | 北京百度网讯科技有限公司 | 视频文件的转码方法、装置、设备和介质 |
-
2020
- 2020-09-29 CN CN202011052741.6A patent/CN112182617A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283606A1 (en) * | 2013-09-17 | 2016-09-29 | Beijing Qihoo Technology Company Limited | Method for performing webpage loading, device and browser thereof |
US10127389B1 (en) * | 2015-03-30 | 2018-11-13 | Amazon Technologies, Inc. | Performing operations on intelligent storage with hardened interfaces |
CN109450868A (zh) * | 2018-10-22 | 2019-03-08 | 四川中电启明星信息技术有限公司 | web浏览器输入数据的验证方法、装置及可读存储介质 |
CN111182010A (zh) * | 2018-11-09 | 2020-05-19 | 杭州海康威视数字技术股份有限公司 | 一种本地服务提供方法及装置 |
CN109918934A (zh) * | 2019-03-15 | 2019-06-21 | 山东省农业机械科学研究院 | 基于aes三层动态加密技术的研发数据安全与保密系统 |
CN110489942A (zh) * | 2019-08-06 | 2019-11-22 | 南开大学 | 一种WebAssembly文件的处理方法及系统 |
CN111629214A (zh) * | 2020-06-05 | 2020-09-04 | 北京百度网讯科技有限公司 | 视频文件的转码方法、装置、设备和介质 |
Non-Patent Citations (1)
Title |
---|
张永杰;: "Web服务器和浏览器的设计与实现", 电脑知识与技术, no. 36, 25 December 2009 (2009-12-25) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296653A (zh) * | 2021-07-27 | 2021-08-24 | 阿里云计算有限公司 | 一种仿真交互模型构建方法、交互方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9584311B2 (en) | Decrypting data | |
US10320556B2 (en) | Method, mobile terminal, device, and readable storage medium for preventing accessed data from being tampered with | |
CN112019332B (zh) | 基于微服务的加解密方法、api网关系统及设备 | |
CN109241484B (zh) | 一种基于加密技术的网页数据的发送方法及设备 | |
US9501646B2 (en) | Program verification apparatus, program verification method, and computer readable medium | |
CN107786331B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
WO2020233047A1 (zh) | 页面测试的方法及装置 | |
CN110138818B (zh) | 传递参数的方法、网站应用、系统、装置以及服务后端 | |
CN108075888B (zh) | 动态url生成方法及装置、存储介质、电子设备 | |
CN110851800B (zh) | 代码保护方法、装置、系统及可读存储介质 | |
CN110113329B (zh) | 一种验证码的验证方法及装置 | |
CN112437060B (zh) | 一种数据传输方法、装置、计算机设备及存储介质 | |
CN114124364B (zh) | 密钥安全处理方法、装置、设备及计算机可读存储介质 | |
CN111552928A (zh) | 一种认证方法及装置 | |
CN109818906B (zh) | 一种设备指纹信息处理方法、装置及服务器 | |
CN111193741B (zh) | 一种信息发送方法、信息获取方法、装置及设备 | |
Park et al. | A methodology for the decryption of encrypted smartphone backup data on android platform: A case study on the latest samsung smartphone backup system | |
CN113312577B (zh) | 网页资源处理方法、装置、电子设备和存储介质 | |
CN112182617A (zh) | 针对接口请求的处理方法、装置及系统 | |
CN111368322B (zh) | 一种文件解密方法、装置、电子设备和存储介质 | |
CN110602051B (zh) | 基于共识协议的信息处理方法及相关装置 | |
CN110708273B (zh) | 一种数据加密、解密方法及数据加密解密系统 | |
CN109343971B (zh) | 一种基于缓存技术的浏览器数据传递方法及装置 | |
CN108848094B (zh) | 数据安全验证方法、装置、系统、计算机设备及存储介质 | |
CN108376212B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant before: Jingdong Digital Technology Holding Co., Ltd |