CN110958239B - 访问请求的校验方法和装置、存储介质及电子装置 - Google Patents

访问请求的校验方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN110958239B
CN110958239B CN201911176916.1A CN201911176916A CN110958239B CN 110958239 B CN110958239 B CN 110958239B CN 201911176916 A CN201911176916 A CN 201911176916A CN 110958239 B CN110958239 B CN 110958239B
Authority
CN
China
Prior art keywords
target
information
fingerprint information
client
access request
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.)
Active
Application number
CN201911176916.1A
Other languages
English (en)
Other versions
CN110958239A (zh
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 Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911176916.1A priority Critical patent/CN110958239B/zh
Publication of CN110958239A publication Critical patent/CN110958239A/zh
Application granted granted Critical
Publication of CN110958239B publication Critical patent/CN110958239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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

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)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种访问请求的校验方法和装置、存储介质及电子装置。其中,该方法包括:获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息;将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,指纹信息集合中的指纹信息包括在目标访问请求之前获取到的访问请求中携带的客户端指纹信息;在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求。采用上述技术方案,解决了相关技术中,当存在爬虫或者恶意用户通过篡改请求参数,或者利用脚本批量的访问接口,易造成接口瘫痪或服务器压力增大等安全性的问题。

Description

访问请求的校验方法和装置、存储介质及电子装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种访问请求的校验方法和装置、存储介质及电子装置。
背景技术
cookie是客户端用来存数数据的一种选项,既可以在客户端设置也可以在服务器端设置,且cookie会跟随任意的http请求一起发送。由于cookie信息为明文且易被盗取,用户能够比较容易的完整的复制下来所有的请求信息,包括cookie,因此这种应用程序接口(Application Programming Interface,简称API)并不安全,爬虫或者恶意用户可以便捷的篡改请求参数,或者利用脚本批量的访问接口,造成接口或者服务器压力过大甚至瘫痪。
相关技术中,当复制当前API请求为curl模式或者fetch模式时,可以方便的在程序里循环调用本请求,或者在其他的工具内更改参数,模拟请求,因此,能够轻易的盗用请求信息,在脚本里批量的获取数据。
因此,相关技术中,在网络请求中,当存在爬虫或者恶意用户通过篡改请求参数,或者利用脚本批量的访问接口,易造成接口瘫痪或服务器压力增大等安全性问题。
发明内容
本发明实施例提供了一种访问请求的校验方法和装置、存储介质及电子装置,以至少解决相关技术中,当存在爬虫或者恶意用户通过篡改请求参数,或者利用脚本批量的访问接口,易造成接口瘫痪或服务器压力增大等安全性的技术问题。
根据本发明实施例的一个方面,提供了一种访问请求的校验方法,包括:获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息;将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,指纹信息集合中的指纹信息包括在目标访问请求之前获取到的访问请求中携带的客户端指纹信息;在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求。
根据本发明实施例的另一方面,还提供了一种访问请求的校验装置,第一获取单元,用于获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息;第一比较单元,用于将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,指纹信息集合中的指纹信息包括在目标访问请求之前获取到的访问请求中携带的客户端指纹信息;第一确认单元,用于在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求。
根据本发明实施例的一个方面,提供了另一种访问请求的校验方法,包括:在目标客户端上获取对目标操作对象执行目标操作所产生的访问指令,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或,目标客户端显示的第一页面上的页面元素;响应访问指令获取第一客户端指纹信息,其中,第一客户端指纹信息用于唯一标识目标访问请求;向服务器发送携带有第一客户端指纹信息的目标访问请求。。
根据本发明实施例的另一方面,还提供了另一种访问请求的校验装置,第二获取单元,用于在目标客户端上获取对目标操作对象执行目标操作所产生的访问指令,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或,目标客户端显示的第一页面上的页面元素;第一响应单元,用于响应访问指令获取第一客户端指纹信息,其中,第一客户端指纹信息用于唯一标识目标访问请求;第一发送单元,用于向服务器发送携带有第一客户端指纹信息的目标访问请求。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述访问请求的校验方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的访问请求的校验方法。
在本发明实施例中,获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息,然后将该第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,在获取到访问请求时,将访问请求中携带的客户端指纹信息记录在指纹信息集合中,当指纹信息集合中包括了第一客户端指纹信息,则将目标访问请求确认为异常访问请求。达到了通过将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,当指纹信息集合中包括了第一客户端指纹信息,可以将第一指纹信息对应的请求确认为异常访问请求,从而实现了根据目标访问请求中的第一客户端指纹信息确认访问请求是否异常的技术效果,进而解决了相关技术中,当存在爬虫或者恶意用户通过篡改请求参数,或者利用脚本批量的访问接口,易造成接口瘫痪或服务器压力增大等安全性的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种访问请求的校验方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的访问请求的校验方法的流程示意图;
图3是根据本发明实施例的另一种可选的访问请求的校验方法的流程示意图;
图4是根据本发明实施例的一种可选的浏览器指纹信息的示意图;
图5是根据本发明实施例的一种可选的接口安全加密流程的示意图;
图6是根据本发明实施例的一种可选的请求指纹生成流程的示意图;
图7是根据本发明实施例的一种可选的访问请求校验方法的应用场景的示意图;
图8是根据本发明实施例的一种可选的访问请求的校验装置的结构示意图;
图9是根据本发明实施例的另一种可选的访问请求的校验装置的结构示意图;
图10是根据本发明实施例的另一种可选的电子装置的结构示意图;
图11是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中涉及到的技术术语包括:
(1)浏览器指纹信息:类似人的外貌和指纹,客户端(这里主要指浏览器)也有多种“外貌”信息和“指纹”信息,将这些信息综合分析计算后,可对客户端进行唯一性识别,进而锁定、追踪。
(2)请求指纹:每次请求都具有唯一性,而每次请求中携带的客户端信息,称为请求指纹。
根据本发明实施例的一个方面,提供了一种访问请求的校验方法。可选地,上述访问请求的校验方法可以但不限于应用于如图1所示的应用环境中。如图1所示,第一终端设备102、第二终端设备106上运行有目标即时通讯的客户端(例如,Android、iOS或Web)。通过该客户端(如QQ、微信等),可以进行网络访问,在网络请求场景中,通过网络将目标访问请求发送给服务器104,服务器104可以是客户端的后台服务器。服务器104获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息(还可以称为第一浏览器指纹信息);将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,指纹信息集合中的指纹信息包括在目标访问请求之前获取到的访问请求中携带的客户端指纹信息;在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求。对于第二终端设备106,也可以通过网络向服务器104发送网络访问请求。以上仅为一种示例,本申请实施例在此不作限定。
可选地,在本实施例中,上述终端设备(包括第一终端设备和第二终端设备)可以是配置有客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,上述终端设备(包括第一终端设备和第二终端设备)可以是无头浏览器者模拟器等。其中,无头浏览器可以理解为一种没有用户界面的浏览器,可以运行在服务器端,通过命令行的方式调用,例如,在服务器端安装无头浏览器,可以通过命令来调用截图,当用户输入网址,能够截取任意网站的截图,该无头浏览器还可以用于爬虫操作。模拟器,又可以成为仿真器,根据模拟器的原理制作的软件又可称为模拟程序,是指主要透过软件模拟硬件处理器的功能和指令***的程序使计算机或者其他多媒体平台(掌上电脑、手机等)能够运行其他平台上的软件。模拟器多用于电视游戏和街机,也有一些用于掌上电脑。
例如,当通过无头或者模拟器发起目标访问请求,在服务器获取到该目标访问请求时,可以将目标访问请求中的第一客户端指纹信息(还可以称为第一浏览器指纹信息)和指纹信息集合中的指纹信息进行比较,当该指纹信息集合中包括了该第一客户端指纹信息时,可以确认该目标访问请求为异常访问请求。
可选地,在本实施例中,作为一种可选的实施方式,该方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由服务器(例如,上述服务器104)执行为例进行说明。如图2所示,上述访问请求的校验方法的流程可以包括步骤:
步骤S202,获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息;
步骤S204,将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,指纹信息集合中的指纹信息包括在目标访问请求之前获取到的访问请求中携带的客户端指纹信息;
步骤S206,在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求。
可选地,上述访问请求的校验方法可以但不限于使用浏览器进行网络访问的场景中。其中,该浏览器可以是无头浏览器或者模拟器等。
例如,每当有访问请求时,服务器可以将这些访问请求携带的客户端指纹信息(如浏览器指纹信息)记录,形成指纹信息集合A,当获取到目标访问请求时,将目标访问请求中携带的第一客户端指纹信息B和指纹信息集合A中记录的指纹信息进行比较,若集合A中包括B,则表示该第一客户端指纹信息不唯一,此时该目标访问请求为异常访问请求。
通过本实施例,获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息,然后将该第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,在获取到访问请求时,将访问请求中携带的客户端指纹信息记录在指纹信息集合中,当指纹信息集合中包括了第一客户端指纹信息,则将目标访问请求确认为异常访问请求。达到了通过将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,当指纹信息集合中包括了第一客户端指纹信息,可以将第一指纹信息对应的请求确认为异常访问请求,从而实现了根据目标访问请求中的第一客户端指纹信息确认访问请求是否异常的技术效果,进而解决了相关技术中,当存在爬虫或者恶意用户通过篡改请求参数,或者利用脚本批量的访问接口,易造成接口瘫痪或服务器压力增大等安全性的技术问题。
下面结合图2对本实施例中上述访问请求的校验方法进行说明。
在步骤S202中,获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息。
可选地,对于目标访问请求,可以为通过无头浏览器或者模拟器等所发送访问请求,目标访问请求中会携带有第一客户端指纹信息,该第一客户端指纹信息中记录有目标访问请求的相关信息,其中,客户端指纹信息(也可以称为浏览器指纹信息)类似于人的外貌和指纹,以目标访问请求为客户端(例如浏览器)所生成的为例,客户端也有多种“外貌”信息和“指纹”信息,将这些信息综合分析计算后,可对客户端进行唯一性识别,进而锁定、追踪。可理解,上述仅为一种示例,本申请实施例在此不作限定。
可选地,以客户端为浏览器为例,浏览器指纹信息可以包括硬件类型、操作***、用户代理User agent、***字体、语言、屏幕分辨率、浏览器插件(Flash,Silverlight,Java,etc)、浏览器扩展、浏览器设置、时区差(Browser GMT Offset)等信息。
上述第一客户端指纹信息为位于目标访问请求中的预定位置上的信息,预定位置上的信息用于标识当前的目标访问请求。其中,预定位置可以理解为报文信息中的某个字段,用于客户端和服务器之间协议的读取关键信息的标识,若目标访问请求为正常访问请求则预定位置可以唯一标识目标访问请求,若目标访问请求为异常访问请求,则预定位置不唯一标识目标访问请求。
可选地,在本实施例中,在获取目标访问请求之前,在目标客户端上获取对目标操作对象执行目标操作所产生的访问指令,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或,目标客户端显示的第一页面上的页面元素;响应访问指令获取目标客户端所在的硬件的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息,其中,目标用户操作信息用于表示目标操作,和/或,目标操作对象;对目标信息进行加密,得到第一客户端指纹信息,其中,目标信息包括目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息;向服务器发送携带有第一客户端指纹信息的目标访问请求。
可选地,上述目标客户端作用同上述浏览器(如IE浏览器)。上述目标操作对象可以理解为目标客户端上的一种目标按钮或者目标组件,或者,还可以为目标客户端上的显示的第一页面的页面元素。例如,目标操作对象可以为目标客户端上的输入框、网页的地址信息等,在此不作任何限定。
可选地,在目标客户端为正常访问的客户端的情况下,当在目标客户端中产生了对目标操作对象的执行目标操作(网页浏览操作)的访问指令时,响应该访问指令,并获取目标客户端的目标信息,其中目标信息包括目标客户端所在硬件的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息,其中,目标用户操作信息用于表示目标操作,和/或,目标操作对象。然后,对目标信息进行加密,得到第一客户端指纹信息,然后向服务器发送携带有第一客户端指纹信息的目标访问请求。
可选地,在目标客户端为非正常访问的客户端(如无头浏览器或模拟器)的情况下,该目标客户端(如浏览器)可能会在短时间内大量获取上述目标信息中的一个或多个信息,或者恶意盗取正常访问的浏览器的cookie信息,在这种情况下,当通过该非正常访问的浏览器生成目标访问请求时,服务器会将该目标访问请求确认为异常访问请求。
通过本实施例,通过将目标信息中的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息进行加密,得到第一客户端指纹信息,使得第一客户端指纹信息具有唯一性,提高了信息的保密性。
在步骤S204中,将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,指纹信息集合中的指纹信息包括在目标访问请求之前获取到的访问请求中携带的客户端指纹信息。
对于服务器来说,在获取到目标访问请求之前,每当有访问请求时,可以将获取到的访问请求中携带的客户端指纹信息在服务器中记录,得到指纹信息集合。当获取到目标访问请求之后,将目标访问请求携带的第一客户端指纹信息与指纹信息集合中的指纹信息进行对比,当指纹信息集合中记录的指纹信息中包括了第一客户端指纹信息时,表明第一客户端指纹信息对应的目标访问请求已经访问过服务器,此时将该目标访问请求确认为异常访问请求。
可选地,当指纹信息集合中记录的指纹信息中未包括第一客户端指纹信息时,可以表明第一客户端指纹信息对应的目标访问请求没有访问过服务器,此时可以将该目标访问请求确认为一种正常访问请求。可理解,本实施例在此不作任何限定。
可选地,当某些恶意用户通过无头浏览器或者模拟器盗用了正常访问请求的浏览器信息,并且对盗用的浏览器信息进行篡改,通过篡改后的浏览器信息批量访问服务器时,一般情况下,由于恶意访问服务器的访问请求所携带的信息可能存在大量的重复,通过上述方案,由于服务器能够将已经访问过的请求的指纹信息进行记录,只要新的访问请求(如上述目标访问请求)携带的第一客户端指纹信息与已经记录的访问请求中的指纹信息重合,就可以将目标访问请求确认为异常访问请求。
可选地,在本实施例中,在将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较之后,在指纹信息集合不包括第一客户端指纹信息的情况下,将第一客户端指纹信息进行解密,得到第一解密信息;在第一解密信息不包括客户端所在硬件的硬件信息的情况下,或,在第一解密信息中包括的硬件信息不全的情况下,将目标访问请求确认为异常访问请求。
可选地,当获取到的第一客户端指纹信息没有被包含在指纹信息集合中时,对该第一客户端指纹信息进行解密,能够得到第一解密信息,如果解密得到的第一解密信息中没有包括浏览器所在的硬件的硬件信息,或者,解密得到的第一解密信息中包括的硬件信息不全,此时可以确定目标访问请求为异常访问请求。其中,上述浏览器为生成目标访问请求对应的浏览器。
可选地,上述客户端与上述目标客户端可以为同一个客户端,如客户端和目标客户端都为非正常访问的客户端(如无头浏览器或模拟器),此时,通过该客户端生成的目标访问请求为异常访问请求。其中,客户端可以为一种浏览器。以上仅为一种示例,在此不作任何限定。
通过本实施例,由于正常访问的浏览器能够获取到硬件信息,当解密得到的第一解密信息不包括浏览器所在的硬件信息,或者包括的硬件信息不全时,可以将目标访问请求确认为异常访问请求,有效避免了未携带或携带硬件信息不全恶意访问请求访问服务器,提高了服务器访问的安全性。
可选地,在本实施例中,在将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较之后,在指纹信息集合不包括第一客户端指纹信息的情况下,将第一客户端指纹信息进行解密,得到第一解密信息;在第一解密信息不包括用户操作信息的情况下,将目标访问请求确认为异常访问请求,其中,用户操作信息用于表示在客户端上执行的操作,和/或,操作的操作对象。
可选地,当获取到的第一客户端指纹信息没有被包含在指纹信息集合中时,对该第一客户端指纹信息进行解密,能够得到第一解密信息,如果解密得到的第一解密信息中没有包括用户操作信息,此时可以确定目标访问请求为异常访问请求。其中,上述客户端为生成目标访问请求对应的客户端。其中,用户操作信息可以理解为用于触发目标访问请求。
可选地,上述客户端与上述目标客户端可以为同一个客户端,如客户端和目标客户端都为非正常访问的客户端(如无头浏览器或模拟器),此时,第一客户端指纹信息中可以不包括用户操作信息,服务器可以将通过该客户端生成的目标访问请求确认为异常访问请求。以上仅为一种示例,在此不作任何限定。
通过本实施例,由于正常访问的客户端能够获取到用户操作信息,当解密得到的第一解密信息不包括用户操作信息,可以将目标访问请求确认为异常访问请求,有效避免了未携带用户操作信息的恶意访问请求访问服务器,提高了服务器访问的安全性。
可选地,在本实施例中,在将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较之后,在指纹信息集合不包括第一客户端指纹信息的情况下,将第一客户端指纹信息进行解密,得到第一解密信息;在第一解密信息包括用户操作信息、客户端所在硬件的硬件信息、且第一解密信息中包括的密钥信息通过验证的情况下,将目标访问请求确认为正常访问请求,其中,用户操作信息用于表示在客户端上执行的操作,和/或,操作的操作对象。
可选地,当获取到的第一客户端指纹信息没有被包含在指纹信息集合中时,对该第一客户端指纹信息进行解密,能够得到第一解密信息,如果解密得到的第一解密信息中包括了用户操作信息、客户端所在硬件的硬件信息、且第一解密信息中包括的密钥信息通过验证的情况下,此时可以确定目标访问请求为正常访问请求。
例如,当通过客户端生成目标访问请求,目标访问请求中携带了第一客户端指纹信息,该第一客户端指纹信息中包括客户端硬件信息、用户操作信息、当前时间戳、密钥信息(如私钥信息),客户端将目标访问请求发送给服务器,服务器获取到目标访问请求时,对第一客户端指纹信息和服务器中指纹信息集合中的指纹信息进行比较,若未包括第一客户端指纹信息,则表示该目标访问请求是唯一的,然后对第一客户端指纹信息进行解密,得到第一解密信息,当第一解密信息中包括了上述用户操作信息、客户端所在硬件的硬件信息、当前时间戳,并且服务器验证通过了密钥信息(如服务器用与上述私钥配对的公钥验证通过)的情况下,可以将目标访问请求确认为正常访问请求。
通过本实施例,由于正常访问的客户端能够获取到用户操作信息、客户端所在硬件的硬件信息,并且当解密得到的第一解密信息包括的密钥信息通过验证时,可以将目标访问请求确认为正常访问请求,提高了服务器访问的安全性。
可选地,在本实施例中,在将目标访问请求确认为正常访问请求的情况下,将第一客户端指纹信息记录在指纹信息集合中。
在确认目标访问请求为正常访问请求时,可以将目标访问请求对应的第一客户端指纹信息记录在指纹信息集合中。
通过本实施例,能够将用户每次的访问请求对应的第一客户端指纹信息记录在指纹信息集合中,能够避免通过恶意盗取用户访问请求的相关信息来访问服务器的行为,提高了访问服务器安全性。
在步骤S206中,在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求。
可选地,当指纹信息集合中包括了第一客户端指纹信息时,若该第一客户端指纹信息为恶意访问的无头浏览器或模拟器所生成的,则该第一客户端指纹信息并不是唯一的,此时将目标访问请求确认为异常访问请求。
可选地,在本实施例中,在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求,在指纹信息集合包括与第一客户端指纹信息相同的第二客户端指纹信息、且第一客户端指纹信息的生成时间与第二客户端指纹信息的生成时间的间隔小于预定阈值的情况下,将目标访问请求确认为异常访问请求。
可选地,当指纹集合中包括了与第一客户端指纹信息相同的第二客户端指纹信息时,如果第一客户端指纹信息的生成时间和第二客户端指纹信息的生成时间间隔小于预定阈值,该预定阈值可以设置为5秒、10秒、1分钟等,则将目标访问请求确认为异常访问请求。以上仅为一种示例,在此不作限定。
例如,当恶意爬虫在短时间内(如5分钟等)通过相同的客户端指纹信息访问服务器时,则可以将该访问请求确认为异常访问请求。
通过本实施例,当指纹集合中存在与第一客户端指纹信息相同的第二客户端指纹信息时,如果两个客户端指纹信息生成的时间间隔小于预定阈值,则可以将目标访问请求确认为异常访问请求,避免了在短时间内的恶意访问请求,提高了服务器的安全性。
可选地,在本实施例中,在将目标访问请求确认为异常访问请求的情况下,丢弃目标访问请求,以便取消获取目标访问请求所请求的访问结果。
可选地,当确认目标访问请求为异常访问请求时,将该目标访问请求丢弃,取消获取目标访问请求所请求的访问结果,也可以理解为,禁止异常访问请求访问服务器。可理解,上述仅为一种示例,本实施例对此不作限定。
通过本实施例,当确认存在异常访问请求时,能够丢弃该异常访问请求,提高了访问服务器的安全性。
可选地,在本实施例中,作为一种可选的实施方式,上述方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由终端设备(例如,上述第一终端设备102)执行为例进行说明。如图3所示,上述访问请求的校验方法的流程可以包括步骤:
步骤S302,在目标客户端上获取对目标操作对象执行目标操作所产生的访问指令,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或,目标客户端显示的第一页面上的页面元素;
步骤S304,响应访问指令获取第一客户端指纹信息,其中,第一客户端指纹信息用于唯一标识目标访问请求;
步骤S306,向服务器发送携带有第一客户端指纹信息的目标访问请求。
可选地,上述访问请求的校验方法可以但不限于使用客户端进行网络访问的场景中。其中,该客户端可以是一种网页浏览器(如IE浏览器等)。
例如,当在目标客户端上产生了对目标操作对象执行目标操作的访问指令时,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或者,目标客户端中的显示的第一页面中的页面元素等。然后,响应上述访问指令,并获取第一客户端指纹信息,该第一客户端指纹信息能够唯一标识访问指令对应的目标访问请求,然后向服务器发送第一客户端指纹信息对应的目标访问请求。
通过本实施例,获取目标客户端上对目标操作对象执行目标操作所产生的访问指令,响应该访问指令获取到第一客户端指纹信息,该第一客户端指纹信息能够唯一标识目标访问请求,然后向服务器发送目标访问请求。达到了通过第一客户端指纹信息唯一标识目标访问请求的目的,从而实现了使每次的正常网络访问请求都具有唯一性的技术效果,进而解决了相关技术中,当存在爬虫或者恶意用户通过篡改请求参数,或者利用脚本批量的访问接口,易造成接口瘫痪或服务器压力增大等安全性的技术问题。
下面结合图3对本实施例中上述访问请求的校验方法进行说明。
在步骤S302中,在目标客户端上获取对目标操作对象执行目标操作所产生的访问指令,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或,目标客户端显示的第一页面上的页面元素。
可选地,上述目标客户端可以理解为一种网页客户端(如IE浏览器)。上述目标操作对象可以理解为目标客户端上的一种目标按钮或者目标组件,或者,还可以为目标客户端上的显示的第一页面的页面元素。例如,目标操作对象可以为目标客户端上的输入框、网页的地址信息等,在此不作任何限定。
可选地,在本实施例中,响应访问指令获取第一客户端指纹信息,响应访问指令获取目标客户端所在的硬件的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息,其中,目标用户操作信息用于表示目标操作,和/或,目标操作对象;对目标信息进行加密,得到第一客户端指纹信息,其中,目标信息包括目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息。
在目标客户端为正常访问的客户端的情况下,当在目标客户端中产生了对目标操作对象的执行目标操作(网页浏览操作)的访问指令时,响应该访问指令,并获取目标客户端的目标信息,其中目标信息包括目标客户端所在硬件的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息,其中,目标用户操作信息用于表示目标操作,和/或,目标操作对象。然后,对目标信息进行加密,得到第一客户端指纹信息。
例如,在IE浏览器中,当通过输入框进行搜索时,即产生了访问指令,进而响应该访问指令,获取IE浏览器对应硬件的硬件信息(如设备标识码等)、产生该访问指令的当前时间戳、输入框对应的输入框id(和/或者搜索内容对应的地址等),以及IE浏览器对应的密钥信息,然后对上述获取到信息进行加密,能够得到该访问指令对应的唯一的第一客户端指纹信息。上述仅为一种示例,本实施例在此不作任何限定。
通过本实施例,由于第一客户端指纹信息具有唯一性,提高了用户网络请求的安全性。
可选地,在本实施例中,在向服务器发送携带有第一客户端指纹信息的目标访问请求之后,在服务器上指纹信息集合不包括第一客户端指纹信息的情况下,获取服务器发送的目标访问请求所请求的访问结果。
当向服务器发送携带有第一客户端指纹信息的目标访问请求之后,服务器能够对第一客户端指纹信息和服务器中指纹信息集合中的指纹信息进行比较,当上述指纹信息集合中没有包括上述第一客户端指纹信息时,服务器可以将该目标访问请求确认为一种正常访问请求,然后向目标客户端发送目标访问请求的访问结果,此时目标客户端能够获取该访问结果。
通过本实施例,服务器上指纹信息集合不包括第一客户端指纹信息的情况下,客户端能够正常获取到目标访问请求对应的访问结果,提高了网络访问请求的安全性。
需要说明的是,在相关技术中,cookie是客户端用来存数数据的一种选项,既可以在客户端设置也可以在服务器端设置,且cookie会跟随任意的http请求一起发送,由于cookie信息为明文且易盗取,用户通过chrome控制台->network->XHR,对某个请求进行复制,可完整的复制下来所有的请求信息,包括cookie,因此这种API接口并不安全,爬虫或者恶意用户可便捷的篡改请求参数,或者利用脚本批量的访问接口,造成接口或者服务器压力过大甚至瘫痪。
为了解决上述问题,下面结合可选示例对访问请求的校验方法的流程进行说明,具体包括以下步骤:
步骤1,触发网络请求,获取浏览器指纹信息。
常见的指纹信息指标可以包括如硬件类型、操作***、用户代理(User agent)、***字体、语言、屏幕分辨率、浏览器插件(如Flash,Silverlight,Java等)、浏览器扩展、浏览器设置、时区差(Browser GMT Offset)等信息。如图4所示,浏览器指纹信息可以包括如图4所示的信息。
如图5所示,前端可以将浏览器指纹信息,放入一个字段中,在每次的请求header中携带浏览器指纹信息。然后将上述浏览器指纹信息,以及用户行为指纹信息、时间戳信息进行MD5加密,然后将用户行为指纹信息、加密后的时间戳信息跟浏览器指纹信息使用JSON数据格式转化为字符串,进行MD5无加盐加密,传送给服务端。其中,用户行为指纹信息可以理解为用户每次点击浏览器的按钮或者组件的行为,和/或记录的当前操作元素的属性。
步骤2,根据网络请求生成对应的请求指纹。
将当前操作的信息(如点击不同的链接的ID和/或操作记录等)+时间戳+硬件+服务器设定的私钥进行编辑,得到32为字符串(可以理解为上述请求指纹)。
可选地,如图6所示,对于生成32位字符串,可以按照以下步骤进行:首先,校验硬件信息是否完全,若出现硬件信息不全、没有硬件信息、只有用户客户端硬件信息中的一个都可以表示硬件信息不全。然后,校验用户操作指纹是否为空,若为空,则表示用户操作指纹异常。
需要说明的是,当指纹信息不全时,说明该浏览器的硬件信息不全,通过正常的浏览器访问服务器,能够获取到全部的硬件信息,若硬件信息不全则表明这是一种无头浏览器或者模拟器,需要反馈给集中处理器。和/或,当用户操作指纹为空时,说明该网络请求不是从客户端发送过来的,而是有人恶意模拟请求,任何客户端的请求均会携带用户操作指纹,需要反馈给集中处理器。
在硬件信息、通用户操作指纹校验通过之后,将用户代理user agent字段、用户指纹和服务器设定的私钥,一起进行加盐MD5加密,生成32位字符串存入缓存***。
步骤3,校验指纹信息是否唯一。
对于生成的请求指纹,在服务器的缓存***的搜索历史中检查是否已经存在该请求指纹,如果已经存在该请求指纹,则确认当前用户的请求信息可能会被盗用,此时直接反馈给服务器集中处理器。如果在缓存***中没有搜索到该请求指纹,则中间件允许请求指纹对应的用户的网络请求通过,并返回给客户端正常的网络请求的请求结果。需要说明的是,通过加入私钥作为混淆信息,来对浏览器指纹信息进行加盐校验,能够保证每次客户端每次的请求的信息都会生成不同的ID,保证了请求指纹的唯一性,提高了安全性。
步骤4,集中反馈处理。
集中处理器的主要作用是为了根据不同场景返回给客户端不同内容,只有各自校验均通过,且请求指纹是唯一的情况下,中间件才会放行,请求才会到达后端接口。对于其他情况可以给用户返回403的网络状态码,提示用户无权限的进行操作,等。以上仅为一种示例,在此不作任何限定。
步骤5,通过指纹缓存管理***缓存请求指纹。
采用redis缓存来保存每次的请求指纹,可以设置请求指纹的过期时间为缓存指纹的开始时间之后的2小时,也就是说,可以在服务器中缓存请求指纹2个小时。需要说明的是,如果恶意爬虫想使用相同的参数获取用户正常的请求参数的数据,时间间隔必须达到2小时,这样已经极大的增加了爬虫的成本,几乎没有爬虫会为了如此低效的爬取速率研发脚本,从而保证了接口的安全性,也降低了接口与服务器的压力。
可选地,上述访问请求校验方法可应用于如图7所示的应用程序(可以为一种App小程序)的场景中,该应用程序可以统计各个渠道的收入数据,以及其他金融数据等,对于接口的安全性要求十分严格。为了保证这些接口数据不外传或者不被盗用请求,可以使用本实施例中的请求校验方法对所有的访问请求进行安全加密,能够有效防止恶意请求行为。
综上,通过上述技术方案,对于盗取客户端的请求信息的行为,不能够正确返回数据,根据每次请求的浏览器指纹信息,生成唯一的请求指纹,使爬虫或者脚本无法恶意的模拟访问或者批量爬取数据,能够在接口安全要求较高的场景中应用。将接口指纹的生命周期设定为2小时,极大的增加了爬虫的成本,从而保证了接口的安全性,也降低了接口与服务器的压力。在接口安全性方面,根据指纹信息来分辨恶意请求的场景,并作出相应处理,提高了接口安全中的可操作性。
通过本实施例,采用上述技术方案,通过对浏览器用户的指纹信息做加密处理,生成唯一ID,保存在服务端的缓存中,模拟请求或者盗用链接请求的恶意用户无法使用浏览器中爬取的相同请求信息,从而实现对API接口的一种安全保护作用,起到了很好的防盗防爬的效果,解决了相关技术中,存在当爬虫或者恶意用户通过篡改请求参数,或者利用脚本批量的访问接口,易造成接口瘫痪或服务器压力增大等安全性的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的又一方面,还提供了一种访问请求的校验装置,如图8所示,该装置包括:
(1)第一获取单元802,用于获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息;
(2)第一比较单元804,用于将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,指纹信息集合中的指纹信息包括在目标访问请求之前获取到的访问请求中携带的客户端指纹信息;
(3)第一确认单元806,用于在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求。
可选地,上述访问请求的校验方法可以但不限于使用客户端进行网络访问的场景中。其中,该客户端可以是无头浏览器或者模拟器等。
可选地,第一获取单元802可以用于执行步骤S202,第一比较单元804可以用于执行步骤S204,第一确认单元806可以用于执行步骤S206。
通过本实施例,获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息,然后将该第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,在获取到访问请求时,将访问请求中携带的客户端指纹信息记录在指纹信息集合中,当指纹信息集合中包括了第一客户端指纹信息,则将目标访问请求确认为异常访问请求。达到了通过将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,当指纹信息集合中包括了第一客户端指纹信息,可以将第一指纹信息对应的请求确认为异常访问请求,从而实现了根据目标访问请求中的第一客户端指纹信息确认访问请求是否异常的技术效果,进而解决了相关技术中,当存在爬虫或者恶意用户通过篡改请求参数,或者利用脚本批量的访问接口,易造成接口瘫痪或服务器压力增大等安全性的技术问题。
作为一种可选的技术方案,上述装置还包括:
(1)解密单元,用于在指纹信息集合不包括第一客户端指纹信息的情况下,将第一客户端指纹信息进行解密,得到第一解密信息。
(2)第二确认单元,用于在第一解密信息不包括客户端所在硬件的硬件信息的情况下,或,在第一解密信息中包括的硬件信息不全的情况下,将目标访问请求确认为异常访问请求。
通过本实施例,由于正常访问的客户端能够获取到硬件信息,当解密得到的第一解密信息不包括客户端所在的硬件信息,或者包括的硬件信息不全时,可以将目标访问请求确认为异常访问请求,有效避免了未携带或携带硬件信息不全恶意访问请求访问服务器,提高了服务器访问的安全性。
作为一种可选的技术方案,上述装置还包括:
(1)解密单元,用于在指纹信息集合不包括第一客户端指纹信息的情况下,将第一客户端指纹信息进行解密,得到第一解密信息;
(2)第三确认单元,用于在第一解密信息不包括用户操作信息的情况下,将目标访问请求确认为异常访问请求,其中,用户操作信息用于表示在客户端上执行的操作,和/或,操作的操作对象。
通过本实施例,由于正常访问的客户端能够获取到用户操作信息,当解密得到的第一解密信息不包括用户操作信息,可以将目标访问请求确认为异常访问请求,有效避免了未携带用户操作信息的恶意访问请求访问服务器,提高了服务器访问的安全性。
作为一种可选的技术方案,上述装置还包括:
(1)解密单元,用于在指纹信息集合不包括第一客户端指纹信息的情况下,将第一客户端指纹信息进行解密,得到第一解密信息;
(2)第四确认单元,用于在第一解密信息包括用户操作信息、客户端所在硬件的硬件信息、且第一解密信息中包括的密钥信息通过验证的情况下,将目标访问请求确认为正常访问请求,其中,用户操作信息用于表示在客户端上执行的操作,和/或,操作的操作对象。
通过本实施例,由于正常访问的客户端能够获取到用户操作信息、客户端所在硬件的硬件信息,并且当解密得到的第一解密信息包括的密钥信息通过验证时,可以将目标访问请求确认为正常访问请求,提高了服务器访问的安全性。
作为一种可选的技术方案,上述装置还包括:
(1)记录单元,用于将第一客户端指纹信息记录在指纹信息集合中。
通过本实施例,能够将用户每次的访问请求对应的第一客户端指纹信息记录在指纹信息集合中,能够避免通过恶意盗取用户访问请求的相关信息来访问服务器的行为,提高了访问服务器安全性。
作为一种可选的技术方案,上述第一确认单元,包括:
(1)确认模块,用于在指纹信息集合包括与第一客户端指纹信息相同的第二客户端指纹信息、且第一客户端指纹信息的生成时间与第二客户端指纹信息的生成时间的间隔小于预定阈值的情况下,将目标访问请求确认为异常访问请求。
通过本实施例,当指纹集合中存在与第一客户端指纹信息相同的第二客户端指纹信息时,如果两个客户端指纹信息生成的时间间隔小于预定阈值,则可以将目标访问请求确认为异常访问请求,避免了在短时间内的恶意访问请求,提高了服务器的安全性。
作为一种可选的技术方案,上述装置还包括:
(1)第三获取单元,在目标客户端上获取对目标操作对象执行目标操作所产生的访问指令,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或,目标客户端显示的第一页面上的页面元素;
(2)第二响应单元,用于响应访问指令获取目标客户端所在的硬件的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息,其中,目标用户操作信息用于表示目标操作,和/或,目标操作对象;
(3)加密单元,用于对目标信息进行加密,得到第一客户端指纹信息,其中,目标信息包括目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息;
(4)第二发送单元,用于向服务器发送携带有第一客户端指纹信息的目标访问请求。
通过本实施例,通过将目标信息中的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息进行加密,得到第一客户端指纹信息,使得第一客户端指纹信息具有唯一性,提高了信息的保密性。
作为一种可选的技术方案,上述装置还包括:
(1)丢弃单元,用于丢弃目标访问请求,以便取消获取目标访问请求所请求的访问结果。
通过本实施例,当确认存在异常访问请求时,能够丢弃该异常访问请求,提高了访问服务器的安全性。
根据本发明实施例的另一方面,还提供了一种访问请求的校验装置,如图9所示,该装置包括:
(1)第二获取单元902,用于在目标客户端上获取对目标操作对象执行目标操作所产生的访问指令,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或,目标客户端显示的第一页面上的页面元素;
(2)第一响应单元904,用于响应访问指令获取第一客户端指纹信息,其中,第一客户端指纹信息用于唯一标识目标访问请求;
(3)第一发送单元906,用于向服务器发送携带有第一客户端指纹信息的目标访问请求。
可选地,上述访问请求的校验方法可以但不限于使用客户端进行网络访问的场景中。其中,该客户端可以是一种网页客户端(如IE客户端等)。
通过本实施例,获取目标客户端上对目标操作对象执行目标操作所产生的访问指令,响应该访问指令获取到第一客户端指纹信息,该第一客户端指纹信息能够唯一标识目标访问请求,然后向服务器发送目标访问请求。达到了通过第一客户端指纹信息唯一标识目标访问请求的目的,从而实现了使每次的正常网络访问请求都具有唯一性的技术效果,进而解决了相关技术中,当存在爬虫或者恶意用户通过篡改请求参数,或者利用脚本批量的访问接口,易造成接口瘫痪或服务器压力增大等安全性的技术问题。
作为一种可选的技术方案,上述第一响应单元,包括:
(1)响应模块,用于响应访问指令获取目标客户端所在的硬件的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息,其中,目标用户操作信息用于表示目标操作,和/或,目标操作对象;
(2)加密模块,用于对目标信息进行加密,得到第一客户端指纹信息,其中,目标信息包括目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息。
通过本实施例,由于第一客户端指纹信息具有唯一性,提高了用户网络请求的安全性。
作为一种可选的技术方案,上述装置还包括:
(1)第四获取单元,用于在服务器上指纹信息集合不包括第一客户端指纹信息的情况下,获取服务器发送的目标访问请求所请求的访问结果。
通过本实施例,服务器上指纹信息集合不包括第一客户端指纹信息的情况下,客户端能够正常获取到目标访问请求对应的访问结果,提高了网络访问请求的安全性。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息;
S2,将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,指纹信息集合中的指纹信息包括在目标访问请求之前获取到的访问请求中携带的客户端指纹信息;
S3,在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取器)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述访问请求的校验方法的电子装置,如图10所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标访问请求,其中,目标访问请求中携带有第一客户端指纹信息;
S2,将第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,指纹信息集合中的指纹信息包括在目标访问请求之前获取到的访问请求中携带的客户端指纹信息;
S3,在指纹信息集合包括第一客户端指纹信息的情况下,将目标访问请求确认为异常访问请求。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的访问请求的校验方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的访问请求的校验方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述访问请求的校验装置中的第一获取单元802、第一比较单元804、第一确认单元806。此外,还可以包括但不限于上述访问请求的校验装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1008;和连接总线1010,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在目标客户端上获取对目标操作对象执行目标操作所产生的访问指令,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或,目标客户端显示的第一页面上的页面元素;
S2,响应访问指令获取第一客户端指纹信息,其中,第一客户端指纹信息用于唯一标识目标访问请求;
S3,向服务器发送携带有第一客户端指纹信息的目标访问请求。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
在其他实施例中,上述终端或者服务器可以是一个分布式***中的一个节点,其中,该分布式***可以为区块链***,该区块链***可以是由该多个节点通过网络通信的形式连接形成的分布式***。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链***中的一个节点。
根据本发明实施例的又一个方面,还提供了一种用于实施上述访问请求的校验方法的电子装置,如图11所示,该电子装置包括存储器1102和处理器1104,该存储器1102中存储有计算机程序,该处理器1104被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在目标客户端上获取对目标操作对象执行目标操作所产生的访问指令,其中,目标操作对象包括目标客户端上的目标按钮或目标组件,或,目标客户端显示的第一页面上的页面元素;
S2,响应访问指令获取第一客户端指纹信息,其中,第一客户端指纹信息用于唯一标识目标访问请求;
S3,向服务器发送携带有第一客户端指纹信息的目标访问请求。
可选地,本领域普通技术人员可以理解,图11所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及MID、PAD等终端设备。图11其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图11中所示更多或者更少的组件(如网络接口等),或者具有与图11所示不同的配置。
其中,存储器1102可用于存储软件程序以及模块,如本发明实施例中的渠道信息的确定方法和装置对应的程序指令/模块,处理器1104通过运行存储在存储器1102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的渠道信息的确定方法。存储器1102可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1102可进一步包括相对于处理器1104远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1102具体可以但不限于用于存储待处理的帐号的特征信息和概率结果等信息。作为一种示例,如图11所示,上述存储器1102中可以但不限于包括上述访问请求的校验装置中的第二获取单元902、第一响应单元904以及第一发送单元906。此外,还可以包括但不限于上述访问请求的校验装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1106包括一个NIC,其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1106为RF模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1108;和连接总线1110,用于连接上述电子装置中的各个模块部件。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种访问请求的校验方法,其特征在于,包括:
在无头浏览器或者模拟器上获取对目标操作对象执行目标操作所产生的访问指令,其中,所述目标操作对象包括所述无头浏览器或者模拟器上的目标按钮或目标组件,或,所述无头浏览器或者模拟器显示的第一页面上的页面元素;
响应所述访问指令获取所述无头浏览器或者模拟器所在的硬件的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息,其中,所述目标用户操作信息用于表示所述目标操作,和/或,所述目标操作对象;
对目标信息进行加密,得到第一客户端指纹信息,其中,所述目标信息包括所述目标硬件信息、所述目标用户操作信息、所述当前时间戳、所述目标密钥信息;
向服务器发送携带有所述第一客户端指纹信息的目标访问请求;
获取所述目标访问请求,其中,所述目标访问请求中携带有所述第一客户端指纹信息;所述第一客户端指纹信息为进行加盐加密后的信息;
将所述第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,所述指纹信息集合中的指纹信息包括在所述目标访问请求之前获取到的访问请求中携带的客户端指纹信息;
在所述指纹信息集合包括与所述第一客户端指纹信息相同的第二客户端指纹信息、且所述第一客户端指纹信息的生成时间与存储在服务器的缓存中第二客户端指纹信息的生成时间的间隔小于预定阈值的情况下,将所述目标访问请求确认为异常访问请求;其中,所述预定阈值为所述服务器的缓存的缓存时长;
在所述指纹信息集合不包括所述第一客户端指纹信息的情况下,将所述第一客户端指纹信息进行解密,得到第一解密信息;
在所述第一解密信息不包括所述无头浏览器或者模拟器所在硬件的硬件信息的情况下,或,在所述第一解密信息中包括的所述硬件信息不全的情况下,将所述目标访问请求确认为异常访问请求。
2.根据权利要求1所述的方法,其特征在于,在所述将所述第一客户端指纹信息与指纹信息集合中的指纹信息进行比较之后,所述方法还包括:
在所述指纹信息集合不包括所述第一客户端指纹信息的情况下,将所述第一客户端指纹信息进行解密,得到第一解密信息;
在所述第一解密信息不包括用户操作信息的情况下,将所述目标访问请求确认为异常访问请求,其中,所述用户操作信息用于表示在客户端上执行的操作,和/或,所述操作的操作对象。
3.根据权利要求1所述的方法,其特征在于,在所述将所述第一客户端指纹信息与指纹信息集合中的指纹信息进行比较之后,所述方法还包括:
在所述指纹信息集合不包括所述第一客户端指纹信息的情况下,将所述第一客户端指纹信息进行解密,得到第一解密信息;
在所述第一解密信息包括用户操作信息、所述无头浏览器或者模拟器所在硬件的硬件信息、且所述第一解密信息中包括的密钥信息通过验证的情况下,将所述目标访问请求确认为正常访问请求,其中,所述用户操作信息用于表示在客户端上执行的操作,和/或,所述操作的操作对象。
4.一种访问请求的校验方法,其特征在于,包括:
在无头浏览器或者模拟器上获取对目标操作对象执行目标操作所产生的访问指令,其中,所述目标操作对象包括所述无头浏览器或者模拟器上的目标按钮或目标组件,或,所述无头浏览器或者模拟器显示的第一页面上的页面元素;
响应所述访问指令获取所述无头浏览器或者模拟器所在的硬件的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息,其中,所述目标用户操作信息用于表示所述目标操作,和/或,所述目标操作对象;
对目标信息进行加密,得到第一客户端指纹信息,其中,所述目标信息包括所述目标硬件信息、所述目标用户操作信息、所述当前时间戳、所述目标密钥信息,其中,所述第一客户端指纹信息用于唯一标识目标访问请求;所述第一客户端指纹信息为进行加盐加密后的信息;
向服务器发送携带有所述第一客户端指纹信息的目标访问请求;
在所述指纹信息集合包括与所述第一客户端指纹信息相同的第二客户端指纹信息、且所述第一客户端指纹信息的生成时间与存储在服务器的缓存中第二客户端指纹信息的生成时间的间隔小于预定阈值的情况下,将所述目标访问请求确认为异常访问请求;其中,所述预定阈值为所述服务器的缓存的缓存时长;
在所述指纹信息集合不包括所述第一客户端指纹信息的情况下,将所述第一客户端指纹信息进行解密,得到第一解密信息;
在所述第一解密信息不包括客户端所在硬件的硬件信息的情况下,或,在所述第一解密信息中包括的所述硬件信息不全的情况下,将所述目标访问请求确认为异常访问请求。
5.一种访问请求的校验装置,其特征在于,包括:
第二获取单元,用于在无头浏览器或者模拟器上获取对目标操作对象执行目标操作所产生的访问指令,其中,所述目标操作对象包括所述无头浏览器或者模拟器上的目标按钮或目标组件,或,所述无头浏览器或者模拟器显示的第一页面上的页面元素;
第一响应单元,用于响应所述访问指令获取所述无头浏览器或者模拟器所在的硬件的目标硬件信息、目标用户操作信息、当前时间戳、目标密钥信息,其中,所述目标用户操作信息用于表示所述目标操作,和/或,所述目标操作对象;
第一加密单元,用于对目标信息进行加密,得到第一客户端指纹信息,其中,所述目标信息包括所述目标硬件信息、所述目标用户操作信息、所述当前时间戳、所述目标密钥信息;
发送单元,用于向服务器发送携带有所述第一客户端指纹信息的目标访问请求;
第一获取单元,用于获取所述目标访问请求,其中,所述目标访问请求中携带有所述第一客户端指纹信息;所述第一客户端指纹信息为进行加盐加密后的信息;
第一比较单元,用于将所述第一客户端指纹信息与指纹信息集合中的指纹信息进行比较,其中,所述指纹信息集合中的指纹信息包括在所述目标访问请求之前获取到的访问请求中携带的客户端指纹信息;
第一确认单元,用于在在所述指纹信息集合包括与所述第一客户端指纹信息相同的第二客户端指纹信息、且所述第一客户端指纹信息的生成时间与存储在服务器的缓存中第二客户端指纹信息的生成时间的间隔小于预定阈值的情况下,将所述目标访问请求确认为异常访问请求;其中,所述预定阈值为所述服务器的缓存的缓存时长;
解密单元,用于在所述指纹信息集合不包括所述第一客户端指纹信息的情况下,将所述第一客户端指纹信息进行解密,得到第一解密信息;
第二确认单元,用于在所述第一解密信息不包括客户端所在硬件的硬件信息的情况下,或,在所述第一解密信息中包括的所述硬件信息不全的情况下,将所述目标访问请求确认为异常访问请求。
6.一种访问请求的校验装置,其特征在于,包括:
第二获取单元,用于在无头浏览器或者模拟器上获取对目标操作对象执行目标操作所产生的访问指令,其中,所述目标操作对象包括所述无头浏览器或者模拟器上的目标按钮或目标组件,或,所述无头浏览器或者模拟器显示的第一页面上的页面元素;
第一响应单元,用于响应所述访问指令获取第一客户端指纹信息,其中,所述第一客户端指纹信息用于唯一标识目标访问请求;
第一发送单元,用于向服务器发送携带有所述第一客户端指纹信息的目标访问请求;所述第一客户端指纹信息为进行加盐加密后的信息;其中,在所述指纹信息集合包括与所述第一客户端指纹信息相同的第二客户端指纹信息、且所述第一客户端指纹信息的生成时间与存储在服务器的缓存中第二客户端指纹信息的生成时间的间隔小于预定阈值的情况下,将所述目标访问请求确认为异常访问请求,所述预定阈值为所述服务器的缓存的缓存时长;
解密单元,用于在所述指纹信息集合不包括所述第一客户端指纹信息的情况下,将所述第一客户端指纹信息进行解密,得到第一解密信息;
第二确认单元,用于在所述第一解密信息不包括所述无头浏览器或者模拟器所在硬件的硬件信息的情况下,或,在所述第一解密信息中包括的所述硬件信息不全的情况下,将所述目标访问请求确认为异常访问请求。
CN201911176916.1A 2019-11-26 2019-11-26 访问请求的校验方法和装置、存储介质及电子装置 Active CN110958239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911176916.1A CN110958239B (zh) 2019-11-26 2019-11-26 访问请求的校验方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911176916.1A CN110958239B (zh) 2019-11-26 2019-11-26 访问请求的校验方法和装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN110958239A CN110958239A (zh) 2020-04-03
CN110958239B true CN110958239B (zh) 2021-08-06

Family

ID=69976986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911176916.1A Active CN110958239B (zh) 2019-11-26 2019-11-26 访问请求的校验方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN110958239B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565226A (zh) * 2020-11-27 2021-03-26 深信服科技股份有限公司 请求处理方法、装置、设备及***和用户画像生成方法
CN112243039B (zh) * 2020-12-07 2021-03-12 深圳市房多多网络科技有限公司 Chromium浏览器的远程访问方法、装置、设备及计算机可读介质
CN112953921A (zh) * 2021-02-02 2021-06-11 深信服科技股份有限公司 一种扫描行为识别方法、装置、设备及存储介质
CN114915462B (zh) * 2022-04-29 2023-09-08 中国电信股份有限公司 跨站请求伪造攻击防御方法及装置、电子设备及介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506525B (zh) * 2014-12-22 2018-04-20 北京奇安信科技有限公司 防止恶意抓取的方法和防护装置
CN105577651B (zh) * 2015-12-16 2019-04-23 广州酷狗计算机科技有限公司 服务提供方法及装置
US20170193559A1 (en) * 2015-12-30 2017-07-06 Vizury Interactive Solutions Private Limited Computer implemented method for partner pixelling for user identification
CN106446020A (zh) * 2016-08-29 2017-02-22 携程计算机技术(上海)有限公司 基于浏览器内置爬虫***的指纹识别实现方法
CN108241795A (zh) * 2016-12-23 2018-07-03 北京国双科技有限公司 一种用户身份识别方法及装置
CN108777687B (zh) * 2018-06-05 2020-04-14 掌阅科技股份有限公司 基于用户行为画像的爬虫拦截方法、电子设备、存储介质
CN109446801B (zh) * 2018-10-22 2021-05-28 武汉极意网络科技有限公司 检测模拟器访问的方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN110958239A (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
CN110958239B (zh) 访问请求的校验方法和装置、存储介质及电子装置
CN108322461B (zh) 应用程序自动登录的方法、***、装置、设备和介质
US8285778B2 (en) Protecting web application data
CN111143869B (zh) 应用程序包处理方法、装置、电子设备及存储介质
CN109522726A (zh) 小程序的鉴权方法、服务器及计算机可读存储介质
CN112738117A (zh) 数据传输方法、装置、***和存储介质及电子装置
CN103401957A (zh) 一种web环境下唯一标识客户端机器的方法
CN112989426B (zh) 授权认证方法及装置、资源访问令牌的获取方法
CN110995446B (zh) 证据验证方法、装置、服务器及存储介质
CN107528865A (zh) 文件的下载方法和***
CN107948235B (zh) 基于jar的云数据安全管理与审计装置
CN112131564A (zh) 加密数据通信方法、装置、设备以及介质
CN110138731B (zh) 一种基于大数据的网络防攻击方法
CN111460410A (zh) 服务器登录方法、装置、***与计算机可读存储介质
CN117155716B (zh) 访问校验方法和装置、存储介质及电子设备
CN110290097B (zh) 数据的处理方法、装置、存储介质和电子装置
EP3381166A1 (en) Systems and methods for cross-channel device binding
CN110034922B (zh) 请求处理方法、处理装置以及请求验证方法、验证装置
CN110377763B (zh) 媒体文件查看方法和装置、存储介质及电子装置
US20230244797A1 (en) Data processing method and apparatus, electronic device, and medium
CN109587134B (zh) 接口总线的安全认证的方法、装置、设备和介质
CN114979109B (zh) 行为轨迹检测方法、装置、计算机设备和存储介质
US9122878B1 (en) Software license management with drifting component
CN109522708B (zh) 对应用程序的运行环境进行安全管控方法及装置
CN115115384A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021750

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant