CN117081845A - 一种数据获取请求的拦截方法及相关装置 - Google Patents
一种数据获取请求的拦截方法及相关装置 Download PDFInfo
- Publication number
- CN117081845A CN117081845A CN202311257740.9A CN202311257740A CN117081845A CN 117081845 A CN117081845 A CN 117081845A CN 202311257740 A CN202311257740 A CN 202311257740A CN 117081845 A CN117081845 A CN 117081845A
- Authority
- CN
- China
- Prior art keywords
- interception
- request
- data packet
- data
- mapping table
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000013507 mapping Methods 0.000 claims abstract description 91
- 230000004044 response Effects 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 13
- 230000003993 interaction Effects 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 24
- 230000005540 biological transmission Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 239000000243 solution Substances 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000002347 injection Methods 0.000 description 4
- 239000007924 injection Substances 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/043—Masking or blinding of tables, e.g. lookup, substitution or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Technology Law (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种数据获取请求的拦截方法及相关装置,涉及网络安全技术领域。在本申请中,根据Ajax请求的第一数据包生成拦截映射表,实现了对数据链路层的数据包的扩展,使得在数据包层次的拦截重复数据获取以及待获取数据是否为重复获取数据的相关判断更加准确;并且,在接收到下一个Ajax请求的第二数据包时,通过比对第二数据包及拦截映射表,确定第二数据包是否满足拦截映射表指示的请求拦截条件,便可实现对下一个Ajax请求的拦截或放行。采用这种方式,实现了统一性的处理解决,避免在使用上的单个处理,提升了扩展性和兼容性,并且,融合了数据包中的各种信息来精确的区分差异,提升了重复数据获取请求拦截的精确度。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种数据获取请求的拦截方法及相关装置。
背景技术
在网络安全相关系统的研发过程中,降低数据获取的频率,能够有效地避免数据的重复获取,从而也提升了系统处理数据的效率。
当前,在处理数据重复获取的问题上,通常是在封装好的库文件上加上拦截,或者,针对单个获取数据的方法中针对性的判断处理,从而对重复数据的获取请求进行拦截,以避免数据的重复获取。
然而,采用上述的数据获取请求拦截方式,会因库文件中的数据格式并非是在发送数据时的最终数据格式,从而导致对库文件中的数据识别,判定其为重复数据的准确率较低。
并且,在采用针对单一数据类型设置的重复数据获取请求的拦截方式,对包含多种数据类型的数据集进行重复数据获取请求拦截时,无法对单一数据类型之外的其他数据类型的重复数据获取请求进行有效拦截。
因此,采用上述方式,重复数据获取请求拦截的精确度较低。
发明内容
本申请实施例提供了一种数据获取请求的拦截方法及相关装置,用以提高重复数据获取请求拦截的精确度,进而解决相关技术中因请求重复而导致的数据处理效率不高的问题。
第一方面,本申请实施例提供了一种数据获取请求的拦截方法,所述方法包括:
获取Ajax请求的第一数据包;其中,Ajax请求用于相应业务数据的获取,第一数据包至少包括:针对Ajax请求整理好的第一发送参数集、第一发送方式以及第一发送地址;
根据第一数据包生成拦截映射表,并缓存拦截映射表;
当接收到下一个Ajax请求的第二数据包时,比对第二数据包及拦截映射表;其中,第二数据包至少包括:针对下一个Ajax请求整理好的第二发送参数集、第二发送方式以及第二发送地址;
若比对结果表征第二数据包满足拦截映射表指示的请求拦截条件,则拦截下一个Ajax请求。
第二方面,本申请实施例还提供了一种数据获取请求的拦截装置,所述装置包括:
获取模块,用于获取Ajax请求的第一数据包;其中,Ajax请求用于相应业务数据的获取,第一数据包至少包括:针对Ajax请求整理好的第一发送参数集、第一发送方式以及第一发送地址;
生成模块,用于根据第一数据包生成拦截映射表,并缓存拦截映射表;
比对模块,用于当接收到下一个Ajax请求的第二数据包时,比对第二数据包及拦截映射表;其中,第二数据包至少包括:针对下一个Ajax请求整理好的第二发送参数集、第二发送方式以及第二发送地址;
拦截模块,用于若比对结果表征第二数据包满足拦截映射表指示的请求拦截条件,则拦截下一个Ajax请求。
在一种可选的实施例中,在比对第二数据包及拦截映射表时,所述比对模块具体用于:
判断第二数据包是否归属于预设白名单;
若是,则发送下一个Ajax请求;
否则,将第二数据包与拦截映射表进行比对。
在一种可选的实施例中,在发送下一个Ajax请求之后,所述拦截模块还用于:
接收服务器针对下一个Ajax请求的请求响应;
根据请求响应,更新拦截映射表。
在一种可选的实施例中,在根据请求响应,更新拦截映射表时,所述生成模块具体用于:
删除拦截映射表中第一发送参数集、第一发送方式以及第一发送地址。
在一种可选的实施例中,在发送下一个Ajax请求之后,所述拦截模块还用于:
持续记录服务器针对下一个Ajax请求的响应时长;
若响应时长不满足预设的请求响应时长条件,则生成相应的数据交互异常警示信息。
第三方面,本申请提供了一种电子设备,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述第一方面所述的数据获取请求的拦截方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其包括程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行上述第一方面所述的数据获取请求的拦截方法的步骤。
第五方面,本申请提供了一种计算机程序产品,所述计算机程序产品在被计算机调用时,使得所述计算机执行如第一方面所述的数据获取请求的拦截方法步骤。
本申请有益效果如下:
在本申请实施例所提供的数据获取请求的拦截方法中,由于根据Ajax请求的第一数据包生成拦截映射表,实现了对数据链路层的数据包的扩展,使得在数据包层次的拦截重复数据获取以及待获取数据是否为重复获取数据的相关判断更加准确;并且,在接收到下一个Ajax请求的第二数据包时,通过比对第二数据包及拦截映射表,确定第二数据包是否满足拦截映射表指示的请求拦截条件,便可实现对下一个Ajax请求的拦截或放行。
采用这种方式,不仅通过对数据连接层的数据包上的扩展,统一性的处理解决,避免在使用上的单个处理,提升了扩展性和兼容性,并且,还通过在数据拦截上融合了数据包中的各种信息(即发送参数集、发送方式以及发送地址),故而,在数据获取请求的数据包上多角度的组合来精确的区分差异,提升了重复数据获取(请求)拦截的精确度。
此外,本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本申请实施例提供的一种现有的数据获取请求拦截方法的数据处理示意图;
图2为本申请实施例适用的一种可选的应用场景示意图;
图3为本申请实施例提供的一种数据获取请求的拦截方法的实施流程示意图;
图4为本申请实施例提供的一种基于图3的数据处理示意图;
图5为本申请实施例提供的一种基于图3的数据获取请求拦截流程示意图;
图6为本申请实施例提供的一种数据获取请求拦截方法的逻辑示意图;
图7为本申请实施例提供的一种数据获取请求的拦截装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
需要说明的是,在本申请的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。A与B连接,可以表示:A与B直接连接和A与B通过C连接这两种情况。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
此外,本申请技术方案中,对数据的采集、传播、使用等,均符合国家相关法律法规要求。
以下对本申请实施例中的部分技术用语进行解释说明,以便于本领域技术人员理解。
(1)异步JavaScript和可扩展标记语言(Asynchronous Javascript AndExtensible Markup Language,Ajax):源自描述从基于全球广域网或者万维网(WorldWide Web,Web)的应用到基于数据的应用,其不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
需要说明的是,Ajax在浏览器与Web服务器之间使用异步数据传输(比如,超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求),这样,就可使通过浏览器访问网页时,仅需从Web服务器请求少量信息,而非整个页面。
(2)库文件:是计算机上的一类文件,提供给使用者一些开箱即用的变量、函数或类。库文件分为静态库和动态库,静态库和动态库的区别体现在程序的链接阶段:静态库在程序的链接阶段被复制到了程序中;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。使用动态库系统只需载入一次,不同的程序可以得到内存中相同的动态库的副本,因此节省了很多内存,而且使用动态库也便于模块化更新程序。
(3)XML:标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
进一步的,基于上述名词及相关术语解释,下面对本申请实施例的设计思想进行简要介绍:
随着网络安全技术的快速发展,重大任务网络安全保障活动使用的系统在研发中,降低数据的获取的频率,能有效的避免数据的重复获取,提升了系统处理数据的效率。
目前在处理数据重复获取的问题上,参阅图1所示的虚线框内,通常是在封装的库文件上加上拦截,以及针对单个获取数据的方法中针对性的判断处理。
显然,如图1所示,数据的重复请求的判断要单独处理,使用上相对位置精确,但是在扩展上性不好,故而,对于整体上的协调性上不够,便利性和兼容性不高;并且,由于库文件分类很多,处理的方案通常需要针对各类库文件进行预先配置,存在不确定性,而且,使用上都是通过数据获取请求的地址作为判断依据,具有一定的局限性。
总而言之,单个处理这样的方法的兼容性和扩展性较差,在采用针对单一数据类型设置的重复数据获取请求的拦截方式,对包含多种数据类型的数据集进行重复数据获取请求拦截时,无法对单一数据类型之外的其他数据类型的重复数据获取请求进行有效拦截;库文件上加拦截的方案的精确度在参数传递混乱的情况有缺陷,会因库文件中的数据格式并非是在发送数据时的最终数据格式,从而导致对库文件中的数据识别,判定其为重复数据的准确率较低;可见,相关技术中的重复数据获取请求拦截的精确度较低。
有鉴于此,为了提高数据获取请求拦截的精确度,在本申请实施例中,提出了一种数据获取请求的拦截方法,具体包括:获取Ajax请求的第一数据包;其中,Ajax请求用于相应业务数据的获取,第一数据包至少包括:针对Ajax请求整理好的第一发送参数集、第一发送方式以及第一发送地址;接着,根据第一数据包生成拦截映射表,并缓存拦截映射表;进一步地,当接收到下一个Ajax请求的第二数据包时,比对第二数据包及拦截映射表;其中,第二数据包至少包括:针对下一个Ajax请求整理好的第二发送参数集、第二发送方式以及第二发送地址;最终,若比对结果表征第二数据包满足拦截映射表指示的请求拦截条件,则拦截下一个Ajax请求。
特别地,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请实施例及实施例中的特征可以相互组合。
参阅图2所示,其为本申请实施例适用的一种应用场景示意图,该应用场景包括:目标终端201和服务器202。目标终端201和服务器202之间可通过通信网络进行信息交互,其中,通信网络采用的通信方式可包括:无线通信方式和有线通信方式。
示例性的,目标终端201可通过蜂窝移动通信技术接入网络,与服务器202进行通信,其中,所述蜂窝移动通信技术,比如,包括第五代移动通信(5th Generation MobileNetworks,5G)技术。
可选的,目标终端201可通过短距离无线通信方式接入网络,与服务器202进行通信,其中,所述短距离无线通信方式,比如,包括无线保真(Wireless Fidelity,Wi-Fi)技术。
本申请实施例对上述系统架构中涉及的通信设备的数量不做任何限制,例如,可以更多目标终端,或者没有目标终端,或者还包括其他网络设备,如图2所示,仅以目标终端201和服务器202为例进行描述,下面对上述各设备及其各自的功能进行简要介绍。
目标终端201,是一种可以向用户提供语音和/或数据连通性的设备,可以是支持有线和/或无线连接方式的设备。
示例性的,目标终端201包括但不限于:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(Mobile Internet Device,MID)、可穿戴设备,虚拟现实(Virtual Reality,VR)设备、增强现实(Augmented Reality,AR)设备、工业控制中的无线终端设备、无人驾驶中的无线终端设备、智能电网中的无线终端设备、运输安全中的无线终端设备、智慧城市中的无线终端设备,或智慧家庭中的无线终端设备等。
此外,目标终端201上可以安装有相关的客户端,该客户端可以是软件,例如,应用程序(Application,APP)、浏览器、短视频软件等,也可以是网页、小程序等。在本申请实施例中,目标终端201可以使上述与数据获取请求的拦截相关的浏览器,获取Ajax请求的第一数据包,再根据第一数据包生成拦截映射表,并缓存拦截映射表,从而当接收到下一个Ajax请求的第二数据包时,比对第二数据包及拦截映射表;进而若比对结果表征第二数据包满足拦截映射表指示的请求拦截条件,则拦截下一个Ajax请求。
服务器202可以为目标终端201上安装的浏览器所对应的后台服务器,示例性的,服务器202可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
还需说明的是,在本申请实施例中,服务器202在接收到目标终端201上浏览器的Ajax请求之后,可以对接收到的Ajax请求进行请求响应,并将请求响应反馈至目标终端201上浏览器,以使得目标终端201上浏览器可以根据请求响应,更新拦截映射表。
下面结合上述的应用场景,以及参考附图来描述本申请示例性实施方式提供的数据获取请求的拦截方法,需要注意的是,上述系统架构仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图3所示,其为本申请实施例提供的一种数据获取请求的拦截方法的实施流程示意图,执行主体以目标终端上的浏览器为例,该方法的具体实施流程如下:
S301:获取Ajax请求的第一数据包。
其中,Ajax请求用于相应业务数据的获取,第一数据包至少包括:针对Ajax请求整理好的第一发送参数集、第一发送方式以及第一发送地址。
需要说明的是,在本申请实施例中,上述的第一发送参数集可以表征上述Ajax请求的数据,上述的第一发送方式可以表征上述Ajax请求的方式,上述的第一发送地址可以表征上述Ajax请求的路径;故而,在数据获取请求(即Ajax请求)的数据包上多角度的组合来精确的区分数据差异,极大地提升了(重复)数据获取(请求)拦截的精确度。
在一种可选的实现方式中,在执行步骤S301时,参阅图4所示,由于是在数据链路层的数据包上的扩展,统一性的处理解决,避免了在使用上的单个处理,因此,浏览器通过改写和拓展了底层发送数据包的方式,兼容原生和库文件,故而,极大地提高了兼容性和扩展性;并且,暴露配置,可以动态的控制拦截的数据包;此外,在底层的截获是最后处理的数据格式,判断数据是否为重复数据的正确度更高。
S302:根据第一数据包生成拦截映射表,并缓存拦截映射表。
示例性的,在执行步骤S302时,浏览器在获得第一数据包之后,便可通过对第一数据包中的第一发送参数集、第一发送方式以及第一发送地址,整合成一条基于第一发送地址共同组成的拦截映射表,从而确保通过拦截映射表和后续发送的数据(即后续Ajax请求的数据包)比对,过滤掉需要筛出的Ajax请求,进而在极大程度上避免了重复数据的获取。
需要说明的是,由于浏览器基于最后发送的数据包(即数据链路层的数据包),数据包中的数据最为准确;故而,浏览器获取数据包中对于本次数据获取请求处理完毕的数据,对数据包中的数据近一步的判断处理,缓存本次数据获取请求的特征,确保本次数据获取请求(即数据包)的特征和唯一性,每次数据获取请求都会和缓存的拦截映射表进行比对;因此,不仅极大地提高开发的便利性和阻止重复请求的准确性,还可适用于各大系统平台开发中对于数据请求的重复调用和用户点击速度过快导致频繁触发数据获取请求等应用场景。
S303:当接收到下一个Ajax请求的第二数据包时,比对第二数据包及拦截映射表。
其中,第二数据包至少包括:针对下一个Ajax请求整理好的第二发送参数集、第二发送方式以及第二发送地址。
在一种可选的实现方式中,在执行步骤S303时,浏览器在获得拦截映射表之后,便可在接收到下一个Ajax请求的第二数据包时,比对第二数据包及拦截映射表;可选的,在比对第二数据包及拦截映射表时,浏览器可以对第二数据包进行是否属于预设白名单的判断,其中,预设白名单包含的各种数据均可被放行,即不会被拦截。
故而,浏览器在判断第二数据包归属于预设白名单时,便可发送下一个Ajax请求,即对下一个Ajax请求(对应获取的数据)进行放行;同理,在判断第二数据包不归属于预设白名单时,便可将第二数据包与拦截映射表进行比对,即对下一个Ajax请求(对应获取的数据)进行拦截。
可选的,浏览器在向服务器发送下一个Ajax请求之后,一段时间后,便可接收服务器针对下一个Ajax请求的请求响应,从而根据请求响应,更新拦截映射表,进而使得拦截映射表实时记录着最新的映射关系。
具体的,浏览器在根据请求响应,更新拦截映射表时,可以通过删除拦截映射表中第一发送参数集、第一发送方式以及第一发送地址,从而更新本次数据获取请求在拦截映射表的记录,进而防止下次数据获取请求被拦截。
可选的,浏览器在向服务器发送下一个Ajax请求之后,还可一持续记录服务器针对下一个Ajax请求的响应时长,若响应时长不满足预设的请求响应时长条件,则生成相应的数据交互异常警示信息,其中,预设的请求响应时长条件表征浏览器与服务器之间的通信网络连接正常,例如,响应时长满足预设的响应时长阈值,即响应及时,或者,响应时长对应的通信网络连接时长满足预设的通信网络连接时长阈值。
通过这种方式,在每次的数据交互有响应时,都要对通信网络连接的状态检查,防止过长的通信网络连接或者响应不及时对拦截映射表的错误记录。
S304:若比对结果表征第二数据包满足拦截映射表指示的请求拦截条件,则拦截下一个Ajax请求。
可选的,由于拦截映射表包括一个或多个Ajax请求的数据包的特征(发送参数集、发送方式以及发送地址等),故而,拦截映射表指示的请求拦截条件可以为:上述Ajax请求的数据包的特征与上述下一个Ajax请求的数据包的特征相同,或者,上述下一个Ajax请求的数据包的特征与拦截映射表中某一Ajax请求的数据包的特征相同。
在一种可选的实现方式中,参阅图5所示,基于上述S301~S304的方法步骤,浏览器可以实现如下数据获取请求拦截流程:
S501:调用Ajax获取数据。
具体的,在执行步骤S501时,浏览器的数据请求方法的调用,是根据浏览器自身调用系统的Ajax方法去获取数据,可选的,也可使用的库文件调用接口去获取数据。
S502:整理数据和连接通道。
具体的,在执行步骤S502时,浏览器将获得的数据经过整理变成数据包,同时数据传输的通道建立连接。
S503:拦截发生,生成拦截映射表。
S504:根据白名单和拦截映射表判断是否拦截。
基于上述S503~S504的方法步骤,浏览器在数据通道建立连接后,准备发送数据获取请求(数据包),进入重写后的模块中,在该模块的发送数据包方案中,拦截数据包中的报文和数据,生成该条数据获取请求(信息)发送的记录到拦截映射表中;同时检查该条数据获取请求是否在白名单中,要是在白名单中则放行该条数据获取请求或者数据获取请求对应的数据。
S505:确定服务器响应或者连接异常。
具体的,在执行步骤S505时,浏览器在每次的数据交互且有响应的情况下,都要对连接的状态检查,防止过长的连接或者响应不及时对拦截映射表的错误记录。
S506:更新拦截映射表。
通过这种方式,虽然数据交互的过程中可能存在异常,但在数据的异常或者正常的返回后对映射表更新,更新本次数据获取请求在拦截映射表的记录,可以有效地防止下次数据获取请求被拦截。
在一种可选的实现方式中,参阅图6所示,其为本申请实施例提供的一种数据获取请求拦截方法的逻辑示意图,浏览器可以通过注入模块和设置白名单两部分完成数据获取请求的拦截:1、注入模块:将预设的模块引入,模块的引入会重写Ajax底层逻辑,注入模块拦截逻辑,对数据包进行数据分析和处理构建拦截数据映射表,通过在映射对后面的数据包的检验和判断,能够准确的判断;2、设置白名单:在模块注入后生成了拦截映射表,同时暴露了白名单,让用户可以注入需要放行的数据包,以便根据拦截映射表,对后续生成的数据包进行阻止或者放行,同时在数据的反馈后要对拦截映射表的映射关系进行更新,对于数据出错的情况定时的清理和更新拦截映射表,以确保拦截映射表实时保持最新的映射关系来避免异常,从而提高数据获取请求的拦截精确度。
显然,基于上述方式,浏览器实现了对底层的重写,脚本逻辑的植入,列表(拦截映射表)的建立和更新,删除了一整套的逻辑,同时,还提供了白名单让用户配置;这样,在数据包层次的数据获取拦截,使得对获取数据的判断更加准确,并且,由于在模块使用的同时,不仅提供了逻辑的注入,还开放了接口,故而,让模块的健壮性更强。
综上所述,在本申请实施例所提供的数据获取请求的拦截方法中,由于根据Ajax请求的第一数据包生成拦截映射表,实现了对数据链路层的数据包的扩展,使得在数据包层次的拦截重复数据获取以及待获取数据是否为重复获取数据的相关判断更加准确;并且,在接收到下一个Ajax请求的第二数据包时,通过比对第二数据包及拦截映射表,确定第二数据包是否满足拦截映射表指示的请求拦截条件,便可实现对下一个Ajax请求的拦截或放行。
采用这种方式,不仅通过对数据连接层的数据包上的扩展,统一性的处理解决,避免在使用上的单个处理,提升了扩展性和兼容性,并且,还通过在数据拦截上融合了数据包中的各种信息(即发送参数集、发送方式以及发送地址),故而,在数据获取请求的数据包上多角度的组合来精确的区分差异,提升了重复数据获取(请求)拦截的精确度。
进一步地,基于相同的技术构思,本申请实施例提供了一种数据获取请求的拦截装置,该数据获取请求的拦截装置用以实现本申请实施例的上述方法流程。参阅图7所示,该数据获取请求的拦截装置包括:获取模块701、生成模块702、比对模块703以及拦截模块704,其中:
在一种可选的实施例中,在比对第二数据包及拦截映射表时,所述比对模块703具体用于:
判断第二数据包是否归属于预设白名单;
若是,则发送下一个Ajax请求;
否则,将第二数据包与拦截映射表进行比对。
在一种可选的实施例中,在发送下一个Ajax请求之后,所述拦截模块704还用于:
接收服务器针对下一个Ajax请求的请求响应;
根据请求响应,更新拦截映射表。
在一种可选的实施例中,在根据请求响应,更新拦截映射表时,所述生成模块702具体用于:
删除拦截映射表中第一发送参数集、第一发送方式以及第一发送地址。
在一种可选的实施例中,在发送下一个Ajax请求之后,所述拦截模块704还用于:
持续记录服务器针对下一个Ajax请求的响应时长;
若响应时长不满足预设的请求响应时长条件,则生成相应的数据交互异常警示信息。
基于相同的技术构思,本申请实施例还提供了一种电子设备,该电子设备可实现本申请上述实施例提供的数据获取请求的拦截方法流程。在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。参阅图8所示,该电子设备可包括:
至少一个处理器801,以及与至少一个处理器801连接的存储器802,本申请实施例中不限定处理器801与存储器802之间的具体连接介质,图8中是以处理器801和存储器802之间通过总线800连接为例。总线800在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线800可以分为地址总线、数据总线、控制总线等,为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器801也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器802存储有可被至少一个处理器801执行的指令,至少一个处理器801通过执行存储器802存储的指令,可以执行前文论述的一种数据获取请求的拦截方法。处理器801可以实现图7所示的装置中各个模块的功能。
其中,处理器801是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器802内的指令以及调用存储在存储器802内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器801可包括一个或多个处理单元,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。在一些实施例中,处理器801和存储器802可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器801可以是通用处理器,例如CPU、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的一种数据获取请求的拦截方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器802可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器801进行设计编程,可以将前述实施例中介绍的一种数据获取请求的拦截方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图3所示的实施例的一种数据获取请求的拦截方法的步骤。如何对处理器801进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的一种数据获取请求的拦截方法。
在一些可能的实施方式中,本申请还提供了一种数据获取请求的拦截方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种数据获取请求的拦截方法中的步骤。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个服务器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
可使用一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种数据获取请求的拦截方法,其特征在于,包括:
获取Ajax请求的第一数据包;其中,所述Ajax请求用于相应业务数据的获取,所述第一数据包至少包括:针对所述Ajax请求整理好的第一发送参数集、第一发送方式以及第一发送地址;
根据所述第一数据包生成拦截映射表,并缓存所述拦截映射表;
当接收到下一个Ajax请求的第二数据包时,比对所述第二数据包及所述拦截映射表;其中,所述第二数据包至少包括:针对所述下一个Ajax请求整理好的第二发送参数集、第二发送方式以及第二发送地址;
若比对结果表征所述第二数据包满足所述拦截映射表指示的请求拦截条件,则拦截所述下一个Ajax请求。
2.如权利要求1所述的方法,其特征在于,所述比对所述第二数据包及所述拦截映射表,包括:
判断所述第二数据包是否归属于预设白名单;
若是,则发送所述下一个Ajax请求;
否则,将所述第二数据包与所述拦截映射表进行比对。
3.如权利要求2所述的方法,其特征在于,所述发送所述下一个Ajax请求之后,还包括:
接收服务器针对所述下一个Ajax请求的请求响应;
根据所述请求响应,更新所述拦截映射表。
4.如权利要求3所述的方法,其特征在于,所述根据所述请求响应,更新所述拦截映射表,包括:
删除所述拦截映射表中所述第一发送参数集、所述第一发送方式以及所述第一发送地址。
5.如权利要求2所述的方法,其特征在于,所述发送所述下一个Ajax请求之后,还包括:
持续记录服务器针对所述下一个Ajax请求的响应时长;
若所述响应时长不满足预设的请求响应时长条件,则生成相应的数据交互异常警示信息。
6.一种数据获取请求的拦截装置,其特征在于,包括:
获取模块,用于获取Ajax请求的第一数据包;其中,所述Ajax请求用于相应业务数据的获取,所述第一数据包至少包括:针对所述Ajax请求整理好的第一发送参数集、第一发送方式以及第一发送地址;
生成模块,用于根据所述第一数据包生成拦截映射表,并缓存所述拦截映射表;
比对模块,用于当接收到下一个Ajax请求的第二数据包时,比对所述第二数据包及所述拦截映射表;其中,所述第二数据包至少包括:针对所述下一个Ajax请求整理好的第二发送参数集、第二发送方式以及第二发送地址;
拦截模块,用于若比对结果表征所述第二数据包满足所述拦截映射表指示的请求拦截条件,则拦截所述下一个Ajax请求。
7.如权利要求6所述的装置,其特征在于,在所述比对所述第二数据包及所述拦截映射表时,所述比对模块具体用于:
判断所述第二数据包是否归属于预设白名单;
若是,则发送所述下一个Ajax请求;
否则,将所述第二数据包与所述拦截映射表进行比对。
8.如权利要求7所述的装置,其特征在于,在所述发送所述下一个Ajax请求之后,所述拦截模块还用于:
接收服务器针对所述下一个Ajax请求的请求响应;
根据所述请求响应,更新所述拦截映射表。
9.如权利要求8所述的装置,其特征在于,在所述根据所述请求响应,更新所述拦截映射表时,所述生成模块具体用于:
删除所述拦截映射表中所述第一发送参数集、所述第一发送方式以及所述第一发送地址。
10.如权利要求7所述的装置,其特征在于,在所述发送所述下一个Ajax请求之后,所述拦截模块还用于:
持续记录服务器针对所述下一个Ajax请求的响应时长;
若所述响应时长不满足预设的请求响应时长条件,则生成相应的数据交互异常警示信息。
11.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述方法的步骤。
13.一种计算机程序产品,其特征在于,所述计算机程序产品在被计算机调用时,使得所述计算机执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311257740.9A CN117081845A (zh) | 2023-09-26 | 2023-09-26 | 一种数据获取请求的拦截方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311257740.9A CN117081845A (zh) | 2023-09-26 | 2023-09-26 | 一种数据获取请求的拦截方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117081845A true CN117081845A (zh) | 2023-11-17 |
Family
ID=88719651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311257740.9A Pending CN117081845A (zh) | 2023-09-26 | 2023-09-26 | 一种数据获取请求的拦截方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117081845A (zh) |
-
2023
- 2023-09-26 CN CN202311257740.9A patent/CN117081845A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220100494A1 (en) | Providing access to a hybrid application offline | |
CN111787126B (zh) | 容器创建方法、服务器及存储介质 | |
CN110008665B (zh) | 一种区块链的权限控制方法及装置 | |
CN113220723B (zh) | 一种流量控制方法、装置、计算机设备及存储介质 | |
CN108536492B (zh) | 一种直播间属性信息获取方法、装置、设备及存储介质 | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN113315750B (zh) | 一种Kafka消息发布方法、装置及存储介质 | |
CN115225707A (zh) | 资源访问方法及装置 | |
CN115964389A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN113722114A (zh) | 一种数据服务的处理方法、装置、计算设备及存储介质 | |
CN111176715A (zh) | 一种信息调用方法及服务器 | |
CN111399753A (zh) | 写入图片的方法和装置 | |
CN113849119B (zh) | 存储方法、存储装置和计算机可读存储介质 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN112860507A (zh) | 分布式链路跟踪系统采样率的控制方法和装置 | |
CN109815202B (zh) | 日志编辑方法及相关装置 | |
CN111563215A (zh) | 前端操作权限的控制方法、装置以及相关设备 | |
CN109388770B (zh) | Web页面生成方法及装置 | |
CN112115401A (zh) | 基于云平台实现的网页数据处理方法、装置及系统 | |
CN114201370B (zh) | 一种网页文件监控方法及系统 | |
CN116225617A (zh) | 容器实例的管理迁移方法、装置和电子设备及存储介质 | |
CN117081845A (zh) | 一种数据获取请求的拦截方法及相关装置 | |
CN110968888B (zh) | 一种数据处理方法及装置 | |
CN117194298B (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 |