本申请涉及网络安全,特别是涉及一种反爬虫方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、随着爬虫滥用的现象,会导致有网站负担增加、信息泄露等问题,为应对这些问题,出现了反爬虫技术。
2、目前的反爬虫技术,需要对大规模的数据进行分析和处理,以侦测和应对爬虫行为。然而,这需要强大的计算能力和高效的算法,极大地增加了服务器负担,从而降低了正常用户的访问速度。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够增加爬虫难度且节省计算机资源的反爬虫方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种反爬虫方法,包括:
3、接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
4、接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
5、若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
6、在其中一个实施例中,所述根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端,包括:获取时间戳字段,根据所述登录请求生成对应的初始密钥,将所述初始密钥和所述时间戳字段拼接为所述目标密钥,并将所述目标密钥添加至响应报文的headers,将所述响应报文返回至所述登录请求对应的终端。
7、在其中一个实施例中,所述请求报文包括请求签名,请求签名是请求报文对应的终端基于所述目标密钥和所述请求报文对应的请求时间戳进行计算所得到的,且所述请求报文的headers携带无意义字段。
8、在其中一个实施例中,所述响应于所述请求报文,获取参考签名,包括:
9、基于存储在服务器的目标密钥和所述请求报文对应的请求时间戳,得到所述参考签名。
10、在其中一个实施例中,所述若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端,包括:获得所述请求报文对应的正常数据,基于所述正常数据随机生成混淆数据,将所述混淆数据返回至所述请求报文对应的终端。
11、在其中一个实施例中,所述方法还包括:若所述请求报文中携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的正常数据至所述请求报文对应的终端。
12、第二方面,本申请还提供了一种反爬虫装置,包括:
13、第一接收模块,用于接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
14、第二接收模块,用于接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
15、响应模块,用于若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
16、在其中一个实施例中,所述第一接收模块还用于获取时间戳字段,根据所述登录请求生成对应的初始密钥,将所述初始密钥和所述时间戳字段拼接为所述目标密钥,并将所述目标密钥添加至响应报文的headers,将所述响应报文返回至所述登录请求对应的终端。
17、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
18、接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
19、接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
20、若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
21、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
22、接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
23、接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
24、若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
25、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
26、接收登录请求,根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端;
27、接收请求报文,响应于所述请求报文,获取参考签名,所述参考签名是基于所述目标密钥通过预设签名算法计算得到的;
28、若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端。
29、上述反爬虫方法、装置、计算机设备、存储介质和计算机程序产品,通过接收登录请求,根据登录请求生成对应的伪装为时间戳字段的目标密钥,并将目标密钥返回至登录请求对应的终端;接收请求报文,响应于请求报文,获取参考签名;若请求报文中未携带与参考签名一致的请求签名,则基于请求报文返回对应的混淆数据至请求报文对应的终端。基于此,只需生成伪装为时间戳字段的目标密钥,而无需对大量的数据进行加密处理,在加大爬虫的难度的前提下,极大地节省了计算机资源,减少了服务器负担,同时在识别到爬虫后返回混淆数据,以减少针对爬虫的反复攻击进行防御所消耗的计算机资源。
1.一种反爬虫方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述登录请求生成对应的伪装为时间戳字段的目标密钥,并将所述目标密钥返回至所述登录请求对应的终端,包括:
3.根据权利要求1所述的方法,其特征在于,所述请求报文包括请求签名,请求签名是请求报文对应的终端基于所述目标密钥和所述请求报文对应的请求时间戳进行计算所得到的,且所述请求报文的headers携带无意义字段。
4.根据权利要求1所述的方法,其特征在于,所述响应于所述请求报文,获取参考签名,包括:
5.根据权利要求1所述的方法,其特征在于,所述若所述请求报文中未携带与所述参考签名一致的请求签名,则基于所述请求报文返回对应的混淆数据至所述请求报文对应的终端,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.一种反爬虫装置,其特征在于,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述第一接收模块还用于获取时间戳字段,根据所述登录请求生成对应的初始密钥,将所述初始密钥和所述时间戳字段拼接为所述目标密钥,并将所述目标密钥添加至响应报文的headers,将所述响应报文返回至所述登录请求对应的终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。