CN117714099A - 一种反爬虫方法、装置、计算机设备和存储介质 - Google Patents
一种反爬虫方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117714099A CN117714099A CN202311528763.9A CN202311528763A CN117714099A CN 117714099 A CN117714099 A CN 117714099A CN 202311528763 A CN202311528763 A CN 202311528763A CN 117714099 A CN117714099 A CN 117714099A
- Authority
- CN
- China
- Prior art keywords
- request
- request message
- signature
- target key
- returning
- 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 41
- 238000004590 computer program Methods 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims description 43
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种反爬虫方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:接收登录请求,根据登录请求生成对应的伪装为时间戳字段的目标密钥,并将目标密钥返回至登录请求对应的终端;接收请求报文,响应于请求报文,获取参考签名;若请求报文中未携带与参考签名一致的请求签名,则基于请求报文返回对应的混淆数据至请求报文对应的终端。基于此,只需生成伪装为时间戳字段的目标密钥,而无需对大量的数据进行加密处理,在加大爬虫的难度的前提下,极大地节省了计算机资源,减少了服务器负担,同时在识别到爬虫后返回混淆数据,以减少针对爬虫的反复攻击进行防御所消耗的计算机资源。
Description
技术领域
本申请涉及网络安全技术领域,特别是涉及一种反爬虫方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着爬虫滥用的现象,会导致有网站负担增加、信息泄露等问题,为应对这些问题,出现了反爬虫技术。
目前的反爬虫技术,需要对大规模的数据进行分析和处理,以侦测和应对爬虫行为。然而,这需要强大的计算能力和高效的算法,极大地增加了服务器负担,从而降低了正常用户的访问速度。
发明内容
基于此,有必要针对上述技术问题,提供一种能够增加爬虫难度且节省计算机资源的反爬虫方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种反爬虫方法,包括:
接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
在其中一个实施例中,所述根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端,包括:获取时间戳字段,根据所述登录请求生成对应的初始密钥,将所述初始密钥和所述时间戳字段拼接为所述目标密钥,并将所述目标密钥添加至响应报文的headers,将所述响应报文返回至所述登录请求对应的终端。
在其中一个实施例中,所述请求报文包括请求签名,请求签名是请求报文对应的终端基于所述目标密钥和所述请求报文对应的请求时间戳进行计算所得到的,且所述请求报文的headers携带无意义字段。
在其中一个实施例中,所述响应于所述请求报文,获取参考签名,包括:
基于存储在服务器的目标密钥和所述请求报文对应的请求时间戳,得到所述参考签名。
在其中一个实施例中,所述若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端,包括:获得所述请求报文对应的正常数据,基于所述正常数据随机生成混淆数据,将所述混淆数据返回至所述请求报文对应的终端。
在其中一个实施例中,所述方法还包括:若所述请求报文中携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的正常数据至所述请求报文对应的终端。
第二方面,本申请还提供了一种反爬虫装置,包括:
第一接收模块,用于接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
第二接收模块,用于接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
响应模块,用于若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
在其中一个实施例中,所述第一接收模块还用于获取时间戳字段,根据所述登录请求生成对应的初始密钥,将所述初始密钥和所述时间戳字段拼接为所述目标密钥,并将所述目标密钥添加至响应报文的headers,将所述响应报文返回至所述登录请求对应的终端。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
上述反爬虫方法、装置、计算机设备、存储介质和计算机程序产品,通过接收登录请求,根据登录请求生成对应的伪装为时间戳字段的目标密钥,并将目标密钥返回至登录请求对应的终端;接收请求报文,响应于请求报文,获取参考签名;若请求报文中未携带与参考签名一致的请求签名,则基于请求报文返回对应的混淆数据至请求报文对应的终端。基于此,只需生成伪装为时间戳字段的目标密钥,而无需对大量的数据进行加密处理,在加大爬虫的难度的前提下,极大地节省了计算机资源,减少了服务器负担,同时在识别到爬虫后返回混淆数据,以减少针对爬虫的反复攻击进行防御所消耗的计算机资源。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中反爬虫方法的应用环境图;
图2为一个实施例中反爬虫方法的流程示意图;
图3为另一个实施例中反爬虫方法的流程示意图;
图4为一个实施例中反爬虫装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的反爬虫方法,可以应用于如图1所示的应用环境中。其中,第一终端102、第二终端104分别通过网络与服务器106进行通信。数据存储系统可以存储服务器106需要处理的数据。数据存储系统可以集成在服务器106上,也可以放在云上或其他网络服务器上。
第一终端102向服务器106发送登录请求,服务器106接收该登录请求并生成对应的伪装为时间戳字段的目标密钥,再将该目标密钥返回至第一终端102;第二终端104向服务器106发送请求报文,服务器106接收该请求报文,并响应于该请求报文以获取参考签名,其中,该参考签名是基于该目标密钥通过预设签名算法计算得到的;若该请求报文中未携带与该参考签名一致的请求签名,则由服务器106基于该请求报文返回对应的混淆数据至第二终端104。
其中,第一终端102、第二终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑。服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种反爬虫方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤S202至步骤S206。其中:
步骤S202,接收登录请求,根据登录请求生成对应的伪装为时间戳字段的目标密钥,并将目标密钥返回至登录请求对应的终端。
其中,登录请求是指终端向服务器发送的请求,以请求服务器验证终端对应用户的身份并授予访问权限。终端向服务器发送的登录请求通常包含有该终端对应的用户所提供的身份验证凭证,例如账号和密码,由服务器基于该身份验证凭证,对用户的身份进行验证,以确定是否授权用户访问特定资源或执行特定操作。
其中,时间戳字段是指用于存储时间戳信息的数据字段;时间戳字段可包括字段标识以及时间信息,其中字段标识用于标识时间戳字段,时间信息用于表示事件发生或数据生成的日期和时间。
示例性地,服务器接收到用户通过终端所发送的登录请求后,根据该登录请求对用户的身份进行验证,若验证登录请求对应的终端是合法的,则生成对应的密钥,并将该密钥嵌入到与时间戳字段相似的数据中,以生成伪装成时间戳字段的目标密钥,并将该目标密钥返回至该登录请求对应的终端。
可选地,上述的与时间戳字段相似的数据,可与接收登录请求的事件对应的时间戳相一致,也可与生成密钥的事件对应的时间戳相一致,还可在一个指定的日期范围内随机生成。
可选地,也可将所生成的密钥和上述的与时间戳字段相似的数据相互拼接,以生成伪装成时间戳字段的目标密钥。
步骤S204,接收请求报文,响应于请求报文,获取参考签名,参考签名是基于目标密钥通过预设签名算法计算得到的。
其中,请求报文是指终端向服务器发送的请求,以请求服务器向终端提供特定服务、资源或操作。终端向服务器发送的请求报文通常包含有请求数据,该请求数据可表示为请求指定服务、资源或操作的数据,服务器根据该请求数据执行相应的操作或响应请求。
其中,参考签名是指用于验证请求报文完整性和真实性的数字签名,即服务器可通过参考签名验证请求报文是否有效。参考签名是由服务器基于目标密钥并通过预设签名算法计算得到的,其中该预设签名算法是指用于创建和验证数字签名的算法,其可根据目标密钥创建对应的数字签名。
示例性地,服务器接收到用户通过终端所发送的请求报文后,根据该请求报文,获取对应的参考签名,将该参考签名与该请求报文中的数据进行对比与匹配,以确定该请求报文的完整性和真实性,即验证该请求报文对应的终端的合法性。
可选地,若请求报文中包含有签名信息,则服务器根据请求报文中的签名信息获取对应的参考签名,将该参考签名与该请求报文中的签名信息进行对比与匹配。
步骤S206,若请求报文中未携带与参考签名一致的请求签名,则基于请求报文返回对应的混淆数据至请求报文对应的终端。
其中,请求报文中的请求签名用于表示请求报文为完整的、真实的、有效的请求报文,即表示请求报文对应的终端为合法的终端。请求签名是基于目标密钥通过预设签名算法计算得到的,其与参考签名相一致。
其中,混淆数据是指不准确、不完整或逻辑不一致的数据;混淆数据可表示为相比于正常数据存在偏差、但偏差并不明显的数据。
示例性地,若请求报文中未携带与参考签名相一致的请求签名,则验证该请求报文对应的终端是非法的,由服务器基于请求报文中的请求数据,生成对应的具有偏差的混淆数据,并将该混淆数据返回至该请求报文对应的终端。
上述的反爬虫方法中,接收登录请求,根据该登录请求生成对应的伪装为时间戳字段的目标密钥,并将该目标密钥返回至登录请求对应的终端;接收请求报文,响应于该请求报文,获取参考签名;若该请求报文中未携带与该参考签名一致的请求签名,则基于该请求报文返回对应的混淆数据至该请求报文对应的终端。基于此,只需生成伪装为时间戳字段的目标密钥,而无需对大量的数据进行加密处理,在加大爬虫的难度的前提下,极大地节省了计算机资源,减少了服务器负担,同时在识别到爬虫后返回混淆数据,以减少针对爬虫的反复攻击进行防御所消耗的计算机资源。
在一个示例性的实施例中,根据登录请求生成对应的伪装为时间戳字段的目标密钥,并将目标密钥返回至登录请求对应的终端,包括步骤S302。其中:
步骤S302,获取时间戳字段,根据登录请求生成对应的初始密钥,将初始密钥和时间戳字段拼接为目标密钥,并将目标密钥添加至响应报文的headers,将响应报文返回至登录请求对应的终端。
其中,响应报文是指服务器针对终端的请求所发送出的响应。服务器向终端发送的响应报文通常包含有响应数据,该响应数据可表示为针对请求数据所返回的指定数据。
其中,响应报文的headers是指响应报文的头部,用于描述响应的特性和服务器的行为。
示例性地,服务器根据登录请求生成对应的初始密钥,并获取时间戳字段,将该初始密钥和时间戳字段相互拼接以生成目标密钥,即该目标密钥为伪装成时间戳字段的目标密钥;由服务器生成响应报文,并将目标密钥添加至该响应报文的headers后,得到新的响应报文,再将该新的响应报文返回至该登录请求对应的终端。
本实施例中,在将密钥伪装成时间戳字段的前提下,进一步地将密钥隐藏于响应报文的headers中,从而增加爬虫识别的难度。
在一个示例性的实施例中,请求报文包括请求签名,请求签名是请求报文对应的终端基于目标密钥和请求报文对应的请求时间戳进行计算所得到的,且请求报文的headers携带无意义字段。
其中,请求时间戳是指发送请求时所对应的时间信息;请求时间戳可表示为终端向服务器发送请求报文时所对应的时间戳信息。
其中,无意义字段是指本身没有实际含义、或与其他字段没有关联的字段。可通过编程语言随机选取数字、字母或符号,并随机排列,以随机地生成无意义字段。
示例性地,合法终端根据请求报文对应的请求时间戳、以及目标密钥,通过预设签名算法计算得到对应的请求签名,将请求签名添加至该请求报文中,同时将无意义字段添加至该请求报文的headers上,以得到新的请求报文,再将该新的请求报文发送至服务器。
可选地,预设签名算法可表示为基于MD5函数的算法,即将请求时间戳和密钥相互连接,形成一个单一的字符串,再将该字符串通过MD5散列算法进行计算,以生成一个固定长度的散列值,即得到对应的签名信息。
本实施例中,在将密钥伪装成时间戳字段的前提下,将无意义字段添加至请求报文的headers中,以进一步地隐藏请求报文的意图,从而增加爬虫识别的难度。此外,通过预设签名算法,并基于伪装为时间戳字段的目标密钥进一步地计算得到同样带有伪装性的请求签名,也可增加爬虫的识别难度。
在一个示例性的实施例中,响应于请求报文,获取参考签名,包括步骤S402。其中:
步骤S402,基于存储在服务器的目标密钥和请求报文对应的请求时间戳,得到参考签名。
示例性地,服务器生成目标密钥后,将目标密钥进行存储;服务器在接收到请求报文后,基于该请求报文对应的请求时间戳、以及所存储的目标密钥,通过预设签名算法计算得到对应的参考签名。
可选地,通过同样的预设签名算法,所分别得到的参考签名和请求签名是一致;此外,应用于参考签名的预设签名算法也可选用上述的基于MD5函数的算法。
本实施例中,通过预设签名算法,并基于伪装为时间戳字段的目标密钥计算得到参考签名,该参考签名具有与目标密钥相一致的伪装性,由此增加了爬虫识别签名和破解签名的难度。
在一个示例性的实施例中,若请求报文中未携带与参考签名一致的请求签名,则基于请求报文返回对应的混淆数据至请求报文对应的终端,包括步骤S502。其中:
步骤S502,获得请求报文对应的正常数据,基于正常数据随机生成混淆数据,将混淆数据返回至请求报文对应的终端。
其中,正常数据是指正确的、完整的、逻辑一致的数据。
示例性地,若请求报文中未携带有与参考签名相一致的请求签名时,则判定请求报文对应的终端为非法终端,则由服务器基于请求报文中的请求数据,获取与该请求数据对应的正常数据,并基于该正常数据随机生成混淆数据,将所生成的混淆数据返回至请求报文对应的非法终端。
可选地,可选用随机数生成器,以生成随机波动数据,并将该随机波动数据与正常数据相结合,以得到混淆数据;其中,随机数生成器是指用于生成随机数的计算机程序。
可选地,可通过重复训练的机器学习模型,以实现将正常数据输入至模型中,从而输出与正常数据相似但具有一定混淆程度的混淆数据。
可选地,可在正常数据中引入随机噪声,例如在数值型数据中添加较小的随机值,或者在文本型数据中添加一些随机文本,以使得数据不再精准地反映真实情况。
可选地,可基于实际业务情景,返回相比于正常数据具有适当偏差值的混淆数据,例如,爬虫所爬取的数据为商品信息时,可根据合理的幅度随机调整价格、销量、时间等参数的数值。
可选地,可根据识别不同请求报文的特征和内容,从而识别不同的请求报文是否来自通过同一终端;若识别到多个请求报文来自同一非法终端,且该多个请求报文对应的请求数据相一致,则可将相同的混淆数据分别返回至该非法终端,从而误导爬虫方基于所爬取信息可信度的判断。
本实施例中,在识别到非法终端后,基于正常数据随机生成混淆数据,并将该混淆数据返回至非法终端,从而增加了对爬虫方的误导性。
在一个示例性的实施例中,该方法还包括步骤S602。其中:
步骤S602,若请求报文中携带与参考签名一致的请求签名,则基于请求报文返回对应的正常数据至请求报文对应的终端。
示例性地,若请求报文中携带有与参考签名相一致的请求签名时,则判定请求报文对应的终端为合法终端,则由服务器基于请求报文中的请求数据,获取与该请求数据对应的正常数据,将所获得的正常数据返回至请求报文对应的合法终端。
本实施例中,在识别到合法终端后,将请求报文所请求的正常数据高效地、准确地返回至合法终端。
在一个示例性地实施例中,如图3所示,该方法包括以下步骤:
合法用户在前端调用登录接口,并在该登录接口向后端发送登录请求;后端根据该登录请求对用户身份进行验证,在验证该用户为合法用户后,生成伪装为时间戳字段的密钥,并将该密钥添加至响应报文的headers上,再将该包含有密钥的响应报文返回并保存至合法用户对应的前端;同时,该密钥也保存在后端。
合法用户在前端调用请求查询业务信息的接口,根据请求时间戳和所获得的密钥,并基于MD5签名算法,得到对应的请求签名,将该请求签名添加至请求报文中,并在请求报文的headers上添加一些无意义字段,再通过上述接口向后端发送请求报文。
后端接收到请求报文后,根据请求时间戳和所存储的密钥,并基于MD5签名算法,得到对应的参考签名,若检验到请求报文携带与参考签名相一致的请求签名,则判定该用户为合法用户,将请求报文所请求的正常数据返回至该合法用户对应的终端。
若检验到请求报文未携带与参考签名相一致的请求签名,则判定该用户为非法用户,将请求报文所请求的正常数据,可基于随机波动获取对应的混淆数据,将所获取的混淆数据返回至该非法用户对应的终端;也可在一定概率下,直接向该非法用户对应的终端返回错误。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的反爬虫方法的反爬虫装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个反爬虫装置实施例中的具体限定可以参见上文中对于反爬虫方法的限定,在此不再赘述。
在一个示例性的实施例中,如图4所示,提供了一种反爬虫装置,包括:第一接收模块702、第二接收模块704和响应模块706,其中:
第一接收模块702,用于接收登录请求,根据登录请求生成对应的伪装为时间戳字段的目标密钥,并将目标密钥返回至登录请求对应的终端。
第二接收模块704,用于接收请求报文,响应于请求报文,获取参考签名,参考签名是基于目标密钥通过预设签名算法计算得到的。
响应模块706,用于若请求报文中未携带与参考签名一致的请求签名,则基于请求报文返回对应的混淆数据至请求报文对应的终端。
在一个示例性的实施例中,第一接收模块702还用于获取时间戳字段,根据登录请求生成对应的初始密钥,将初始密钥和时间戳字段拼接为目标密钥,并将目标密钥添加至响应报文的headers,将响应报文返回至登录请求对应的终端。
在一个示例性的实施例中,第二接收模块704中的请求报文包括请求签名,请求签名是请求报文对应的终端基于目标密钥和请求报文对应的请求时间戳进行计算所得到的,且请求报文的headers携带无意义字段。
在一个示例性的实施例中,第二接收模块704还用于基于存储在服务器的目标密钥和请求报文对应的请求时间戳,得到参考签名。
在一个示例性的实施例中,响应模块706还用于获得请求报文对应的正常数据,基于正常数据随机生成混淆数据,将混淆数据返回至请求报文对应的终端。
在一个示例性的实施例中,该装置还包括第二响应模块,第二响应模块用于若请求报文中携带与参考签名一致的请求签名,则基于请求报文返回对应的正常数据至请求报文对应的终端。
上述反爬虫装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标密钥、请求报文、参考签名、正常数据、混淆数据等。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种反爬虫方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收登录请求,根据登录请求生成对应的伪装为时间戳字段的目标密钥,并将目标密钥返回至登录请求对应的终端;
接收请求报文,响应于请求报文,获取参考签名,参考签名是基于目标密钥通过预设签名算法计算得到的;
若请求报文中未携带与参考签名一致的请求签名,则基于请求报文返回对应的混淆数据至请求报文对应的终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取时间戳字段,根据登录请求生成对应的初始密钥,将初始密钥和时间戳字段拼接为目标密钥,并将目标密钥添加至响应报文的headers,将响应报文返回至登录请求对应的终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:请求报文包括请求签名,请求签名是请求报文对应的终端基于目标密钥和请求报文对应的请求时间戳进行计算所得到的,且请求报文的headers携带无意义字段。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于存储在服务器的目标密钥和请求报文对应的请求时间戳,得到参考签名。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获得请求报文对应的正常数据,基于正常数据随机生成混淆数据,将混淆数据返回至请求报文对应的终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若请求报文中携带与参考签名一致的请求签名,则基于请求报文返回对应的正常数据至请求报文对应的终端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收登录请求,根据登录请求生成对应的伪装为时间戳字段的目标密钥,并将目标密钥返回至登录请求对应的终端;
接收请求报文,响应于请求报文,获取参考签名,参考签名是基于目标密钥通过预设签名算法计算得到的;
若请求报文中未携带与参考签名一致的请求签名,则基于请求报文返回对应的混淆数据至请求报文对应的终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取时间戳字段,根据登录请求生成对应的初始密钥,将初始密钥和时间戳字段拼接为目标密钥,并将目标密钥添加至响应报文的headers,将响应报文返回至登录请求对应的终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:请求报文包括请求签名,请求签名是请求报文对应的终端基于目标密钥和请求报文对应的请求时间戳进行计算所得到的,且请求报文的headers携带无意义字段。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于存储在服务器的目标密钥和请求报文对应的请求时间戳,得到参考签名。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获得请求报文对应的正常数据,基于正常数据随机生成混淆数据,将混淆数据返回至请求报文对应的终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若请求报文中携带与参考签名一致的请求签名,则基于请求报文返回对应的正常数据至请求报文对应的终端。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收登录请求,根据登录请求生成对应的伪装为时间戳字段的目标密钥,并将目标密钥返回至登录请求对应的终端;
接收请求报文,响应于请求报文,获取参考签名,参考签名是基于目标密钥通过预设签名算法计算得到的;
若请求报文中未携带与参考签名一致的请求签名,则基于请求报文返回对应的混淆数据至请求报文对应的终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取时间戳字段,根据登录请求生成对应的初始密钥,将初始密钥和时间戳字段拼接为目标密钥,并将目标密钥添加至响应报文的headers,将响应报文返回至登录请求对应的终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:请求报文包括请求签名,请求签名是请求报文对应的终端基于目标密钥和请求报文对应的请求时间戳进行计算所得到的,且请求报文的headers携带无意义字段。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于存储在服务器的目标密钥和请求报文对应的请求时间戳,得到参考签名。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获得请求报文对应的正常数据,基于正常数据随机生成混淆数据,将混淆数据返回至请求报文对应的终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若请求报文中携带与参考签名一致的请求签名,则基于请求报文返回对应的正常数据至请求报文对应的终端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种反爬虫方法,其特征在于,所述方法包括:
接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端,包括:
获取时间戳字段,根据所述登录请求生成对应的初始密钥,将所述初始密钥和所述时间戳字段拼接为所述目标密钥,并将所述目标密钥添加至响应报文的headers,将所述响应报文返回至所述登录请求对应的终端。
3.根据权利要求1所述的方法,其特征在于,所述请求报文包括请求签名,请求签名是请求报文对应的终端基于所述目标密钥和所述请求报文对应的请求时间戳进行计算所得到的,且所述请求报文的headers携带无意义字段。
4.根据权利要求1所述的方法,其特征在于,所述响应于所述请求报文,获取参考签名,包括:
基于存储在服务器的目标密钥和所述请求报文对应的请求时间戳,得到所述参考签名。
5.根据权利要求1所述的方法,其特征在于,所述若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端,包括:
获得所述请求报文对应的正常数据,基于所述正常数据随机生成混淆数据,将所述混淆数据返回至所述请求报文对应的终端。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述请求报文中携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的正常数据至所述请求报文对应的终端。
7.一种反爬虫装置,其特征在于,所述装置包括:
第一接收模块,用于接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
第二接收模块,用于接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
响应模块,用于若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
8.根据权利要求7所述的装置,其特征在于,所述第一接收模块还用于获取时间戳字段,根据所述登录请求生成对应的初始密钥,将所述初始密钥和所述时间戳字段拼接为所述目标密钥,并将所述目标密钥添加至响应报文的headers,将所述响应报文返回至所述登录请求对应的终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311528763.9A CN117714099A (zh) | 2023-11-16 | 2023-11-16 | 一种反爬虫方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311528763.9A CN117714099A (zh) | 2023-11-16 | 2023-11-16 | 一种反爬虫方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117714099A true CN117714099A (zh) | 2024-03-15 |
Family
ID=90145119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311528763.9A Pending CN117714099A (zh) | 2023-11-16 | 2023-11-16 | 一种反爬虫方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117714099A (zh) |
-
2023
- 2023-11-16 CN CN202311528763.9A patent/CN117714099A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102493744B1 (ko) | 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버 | |
US10790976B1 (en) | System and method of blockchain wallet recovery | |
US10382965B2 (en) | Identity verification using computer-implemented decentralized ledger | |
Guo et al. | Outsourced dynamic provable data possession with batch update for secure cloud storage | |
Zhang et al. | Cryptographic public verification of data integrity for cloud storage systems | |
Guo et al. | Dynamic proof of data possession and replication with tree sharing and batch verification in the cloud | |
CN113704357A (zh) | 一种基于区块链的智慧城市数据共享方法及系统 | |
CN117155549A (zh) | 密钥分发方法、装置、计算机设备和存储介质 | |
CN115514492A (zh) | Bios固件验证方法、装置、服务器、存储介质和程序产品 | |
CN109450636B (zh) | 一种云存储中群组数据的完整性验证方法 | |
CN117134993B (zh) | 基于可累加承诺验证的检索密文可检测方法及设备 | |
CN114048453A (zh) | 用户特征的生成方法、装置、计算机设备和存储介质 | |
Sun et al. | Public data integrity auditing without homomorphic authenticators from indistinguishability obfuscation | |
CN116049802B (zh) | 应用单点登陆方法、系统、计算机设备和存储介质 | |
CN116962021A (zh) | 金融合作机构中用户实名认证的方法、装置、设备和介质 | |
CN114745173B (zh) | 登陆验证方法、装置、计算机设备和存储介质 | |
CN114553557B (zh) | 密钥调用方法、装置、计算机设备和存储介质 | |
CN114244519B (zh) | 密码的校验方法、装置、计算机设备和存储介质 | |
CN117714099A (zh) | 一种反爬虫方法、装置、计算机设备和存储介质 | |
Liu et al. | Video data integrity verification method based on full homomorphic encryption in cloud system | |
EP3776318B1 (en) | Tamper-resistant data encoding for mobile devices | |
CN113285934A (zh) | 基于数字签名的服务器密码机客户端ip检测方法及装置 | |
CN116975937B (zh) | 匿名证明方法、匿名验证方法 | |
Gao et al. | Similarity-based Secure Deduplication for IIoT Cloud Management System | |
Jiang et al. | Traitor tracing scheme for relational databases based on blockchain |
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 |