CN112688919A - 一种基于app接口的反爬虫方法、设备及介质 - Google Patents

一种基于app接口的反爬虫方法、设备及介质 Download PDF

Info

Publication number
CN112688919A
CN112688919A CN202011445052.1A CN202011445052A CN112688919A CN 112688919 A CN112688919 A CN 112688919A CN 202011445052 A CN202011445052 A CN 202011445052A CN 112688919 A CN112688919 A CN 112688919A
Authority
CN
China
Prior art keywords
target
request
signature
target request
app
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
Application number
CN202011445052.1A
Other languages
English (en)
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.)
DBAPPSecurity Co Ltd
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology 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 Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN202011445052.1A priority Critical patent/CN112688919A/zh
Publication of CN112688919A publication Critical patent/CN112688919A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种基于APP接口的反爬虫方法,包括:目标APP生成字符串和配对的公钥与私钥,将私钥发送至应用服务器;对字符串进行签名,得到第一签名,利用公钥对字符串和第一签名进行加密,得到目标请求,并将该请求发送至应用服务器;当应用服务器接收到该请求时,判断该请求是否为代理IP所发送的请求;若是,拒绝该请求;若否,判断该请求的IP地址是否存在于黑名单;若是,拒绝该请求;若否,利用私钥对该请求进行解密,基于目标请求的加密算法对字符串进行签名,得到第二签名,判断第二签名与第一签名是否一致;若是,对该请求进行响应;若否,拒绝该请求。通过该方法能够进一步提高APP与应用服务器在进行信息交互时的安全性。

Description

一种基于APP接口的反爬虫方法、设备及介质
技术领域
本发明涉及网络安全技术领域,特别涉及一种基于APP接口的反爬虫方法、设备及介质。
背景技术
随着移动互联网的高速发展,很多企业都抛弃了传统网络,而选择将数据、服务整合到APP(Application,应用程序)端。由于金融服务、交通出行、支付业务等逐渐向移动互联网平台迁移,所以,移动互联网的安全问题越来越突出。
网络爬虫是一种按照预设规则自动地抓取万维网信息的应用程序,其中,恶意的网络爬虫会严重侵害应用服务器的安全运行。但是,在现有技术中,APP与应用服务器在进行信息交互时,通常是以明文进行信息传输,在此情况下,当应用服务器与APP进行通讯的接口暴露后,不法分子就很容易通过篡改、伪造参数而恶意爬取得到应用服务器的网络信息,并由此导致APP与应用服务器之间的通信存在极大的安全隐患。目前,针对这一技术问题,还没有较为有效的解决办法。
由此可见,如何提高APP与应用服务器在进行信息交互时的安全性,是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于APP接口的反爬虫方法、设备及介质,以提高APP与应用服务器在进行信息交互时的安全性。其具体方案如下:
一种基于APP接口的反爬虫方法,应用于应用服务器,包括:
当接收到目标APP所发送的目标请求时,则判断所述目标请求是否为代理IP所发送的请求;其中,所述目标APP在向所述应用服务器发送所述目标请求前,生成目标字符串以及相互配对的公钥与私钥,并将所述私钥发送至所述应用服务器;对所述目标字符串进行签名,得到第一签名,并利用所述公钥对所述目标字符串和所述第一签名进行加密,得到所述目标请求;
若所述目标请求为所述代理IP所发送的请求,则拒绝所述目标请求;
若所述目标请求不是所述代理IP所发送的请求,则判断所述目标请求的IP地址是否存在于黑名单中;
若所述IP地址存在于所述黑名单中,则拒绝所述目标请求;
若所述IP地址不存在于所述黑名单中,则利用所述私钥对所述目标请求进行解密,得到所述第一签名和所述目标字符串;基于所述目标请求的加密算法对所述目标字符串进行签名,得到第二签名,并判断所述第二签名与所述第一签名是否一致;
若所述第二签名与所述第一签名一致,则对所述目标请求进行响应;
若所述第二签名与所述第一签名不一致,则拒绝所述目标请求。
优选的,所述目标APP在向所述应用服务器发送所述目标请求前,还包括:
对所述目标APP的源代码进行混淆,得到混淆代码,并对所述混淆代码进行加固。
优选的,所述生成目标字符串以及相互配对的公钥与私钥的过程,包括:
利用OpenSSL生成相互配对的所述公钥和所述私钥。
优选的,所述判断所述目标请求是否为代理IP所发送的请求的过程,包括:
利用NSURL Protocol或System.getProperty判断所述目标请求是否为所述代理IP所发送的请求。
优选的,还包括:
获取所述目标请求的token,并判断所述token是否在预设范围之内;
若所述token不在所述预设范围之内,则拒绝所述目标请求;
若所述token在所述预设范围之内,则对所述目标请求进行响应。
优选的,还包括:
记录所述目标请求的token和/或IP和/或ID,并根据所述目标请求的token和/或IP和/或ID更新所述预设范围。
优选的,还包括:
获取所述目标请求的第一时间戳,并获取所述应用服务器自身在接收到所述目标请求时的第二时间戳;
判断所述第一时间戳和所述第二时间戳之间的目标差值是否大于或等于第一预设阈值;
若所述目标差值大于或等于所述第一预设阈值,则拒绝所述目标请求;
若所述目标差值小于所述第一预设阈值,则对所述目标请求进行响应。
优选的,还包括:
统计在预设时间段内目标用户的token或IP或ID访问所述应用服务器的目标次数,并判断所述目标次数是否超过第二预设阈值;
若所述目标次数超过所述第二预设阈值,则将所述目标用户的token或IP或ID同步至所述黑名单。
相应的,本发明还公开了一种基于APP接口的反爬虫设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前述所公开的一种基于APP接口的反爬虫方法的步骤。
相应的,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所公开的一种基于APP接口的反爬虫方法的步骤。
可见,在本发明中,当目标APP与应用服务器需要进行信息交互时,目标APP首先会生成目标字符串和相互配对的公钥和私钥,并将私钥发送至应用服务器,同时目标APP会对目标字符串进行签名,得到第一签名,并利用公钥对目标字符串和第一签名进行加密,得到目标请求,然后,目标APP会将目标请求发送至应用服务器;当应用服务器接收到目标请求时,首先会判断目标请求是否为代理IP所发送的请求,如果是,则拒绝目标请求,如果不是,则会判断目标请求的IP地址是否存在于黑名单中,如果存在,则拒绝目标请求,如果不存在,则利用目标APP所发送的私钥对目标请求进行解密,得到第一签名和目标字符串,同时再基于目标请求所使用的加密算法来对目标字符串进行签名,得到第二签名,最后,再判断第一签名和第二签名是否一致,如果一致,则说明目标APP所发送的数据没有被非法分子所篡改,此时就可以对目标请求进行响应,如果不一致,则说明目标APP所发送的数据已经被非法分子所篡改,此时就可以拒绝目标请求。显然,由于在该方法中添加了对代理IP和反爬虫风控的检测步骤,所以,相比于现有技术而言,通过本发明所提供的方法就可以进一步提高APP与应用服务器在进行信息交互时的安全性。相应的,本发明所提供的一种基于APP接口的反爬虫设备及介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种基于APP接口的反爬虫方法的流程图;
图2为本发明实施例所提供的另一种基于APP接口的反爬虫方法的流程图;
图3为本发明实施例所提供的一种基于APP接口的反爬虫装置的结构图;
图4为本发明实施例所提供的一种基于APP接口的反爬虫设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1为本发明实施例所提供的一种基于APP接口的反爬虫方法的流程图,该反爬虫方法包括:
步骤S11:当接收到目标APP所发送的目标请求时,则判断目标请求是否为代理IP所发送的请求;若是,则执行步骤S12;若否,则执行步骤13;
其中,目标APP在向应用服务器发送目标请求前,生成目标字符串以及相互配对的公钥与私钥,并将私钥发送至应用服务器;对目标字符串进行签名,得到第一签名,并利用公钥对目标字符串和第一签名进行加密,得到目标请求;
步骤S12:拒绝目标请求;
步骤S13:判断目标请求的IP地址是否存在于黑名单中;若是,则执行步骤S14;若否,则执行步骤S15;
步骤S14:拒绝目标请求;
步骤S15:利用私钥对目标请求进行解密,得到第一签名和目标字符串;基于目标请求的加密算法对目标字符串进行签名,得到第二签名,并判断第二签名与第一签名是否一致;若是,则执行步骤S16;若否,则执行步骤S17;
步骤S16:对目标请求进行响应;
步骤S17:拒绝目标请求。
在本实施例中,是提供了一种基于APP接口的反爬虫方法,通过该反爬虫方法可以进一步提高APP与应用服务器在进行信息交互时的安全性,在该反爬虫方法中,是以应用服务器为执行主体进行说明。
在目标APP向应用服务器发送目标请求之前,目标APP首先会生成目标字符串和相互配对的公钥与私钥,并将私钥发送给应用服务器,同时,目标APP会对目标字符串进行签名,得到第一签名,并利用公钥对目标字符串和第一签名进行加密,得到成为密文的目标请求,具体的,是将加密之后的密文存入requestBody中,得到目标请求;然后,目标APP会将目标请求发送至应用服务器。
为了防止不法分子恶意攻击应用服务器,当应用服务器接收到目标APP所发送的目标请求之后,首先会判断目标请求是否是代理IP所发送的请求,如果是,则应用服务器会拒绝目标请求,如果不是,应用服务器会进一步判断目标请求的IP地址是否存在于黑名单中,如果目标请求的IP地址存在于黑名单中,则说明目标请求为非法APP所发送的请求,此时,应用服务器也会拒绝目标请求。
如果目标请求的IP地址不存在于黑名单中,此时,应用服务器会对目标APP的身份进行校验,也即,首先是利用目标APP所发送的私钥对目标请求进行解密,得到第一签名和目标字符串,然后,再基于目标请求中所蕴含的加密算法对目标字符串进行签名,得到第二签名。能够想到的是,如果第二签名和第一签名一致,则说明目标APP所发送的目标请求没有被篡改或伪造,此时,应用服务器就可以对目标请求进行响应;如果第二签名和第一签名不一致,则说明目标APP所发送的目标请求被非法分子篡改或伪造,此时,应用服务器就会拒绝目标请求。
可见,在本实施例中,当目标APP与应用服务器需要进行信息交互时,目标APP首先会生成目标字符串和相互配对的公钥和私钥,并将私钥发送至应用服务器,同时目标APP会对目标字符串进行签名,得到第一签名,并利用公钥对目标字符串和第一签名进行加密,得到目标请求,然后,目标APP会将目标请求发送至应用服务器;当应用服务器接收到目标请求时,首先会判断目标请求是否为代理IP所发送的请求,如果是,则拒绝目标请求,如果不是,则会判断目标请求的IP地址是否存在于黑名单中,如果存在,则拒绝目标请求,如果不存在,则利用目标APP所发送的私钥对目标请求进行解密,得到第一签名和目标字符串,同时再基于目标请求所使用的加密算法来对目标字符串进行签名,得到第二签名,最后,再判断第一签名和第二签名是否一致,如果一致,则说明目标APP所发送的数据没有被非法分子所篡改,此时就可以对目标请求进行响应,如果不一致,则说明目标APP所发送的数据已经被非法分子所篡改,此时就可以拒绝目标请求。显然,由于在该方法中添加了对代理IP和反爬虫风控的检测步骤,所以,相比于现有技术而言,通过本实施例所提供的方法就可以进一步提高APP与应用服务器在进行信息交互时的安全性。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:目标APP在向应用服务器发送目标请求前,还包括:
对目标APP的源代码进行混淆,得到混淆代码,并对混淆代码进行加固。
在本实施例中,为了进一步增加非法分子对目标APP的破译难度,还在目标APP向应用服务器发送目标请求之前,对目标APP的源代码进行了混淆,得到混淆代码,并对混淆代码进行了加固。
能够想到的是,当对目标APP的源代码进行了混淆加固之后,非法分子就不能轻易得到任何与目标APP属性信息相关的内容,在此情况下,就增加了非法分子伪造目标APP相关信息的难度,由此就可以提高目标APP和应用服务器进行信息交互时的安全性。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:生成目标字符串以及相互配对的公钥与私钥的过程,包括:
利用OpenSSL生成相互配对的公钥和私钥。
在本实施例中,目标APP是利用OpenSSL来生成相互配对的公钥和私钥,因为OpenSSL(开放式安全套接层协议)是一个开源代码的软件库包,所以,当利用OpenSSL来生成相互配对的公钥和私钥时,就可以相对降低本申请所提供反爬虫方法在实际应用中的实现难度。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:判断目标请求是否为代理IP所发送的请求的过程,包括:
利用NSURL Protocol或System.getProperty判断目标请求是否为代理IP所发送的请求。
可以理解的是,因为NSURL Protocol或System.getProperty是APP自带的软件工具包,使用过程灵活、方便,所以,当利用NSURL Protocol或System.getProperty来判断目标请求是否为代理IP所发送的请求时,就可以进一步提高本申请所提供反爬虫方法在实际使用过程中的便捷度。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述反爬虫方法还包括:
获取目标请求的token,并判断token是否在预设范围之内;
若token不在预设范围之内,则拒绝目标请求;
若token在预设范围之内,则对目标请求进行响应。
能够想到的是,因为token可以携带目标APP的身份信息,所以,在本实施例中,为了进一步保证目标APP和应用服务器在进行信息交互时的安全性,应用服务器还获取了目标请求的token,并判断目标请求的token是否在预设范围之内,如果目标请求的token在预设范围之内,则说明目标APP所发送的目标请求有效,此时,应用服务器就可以对目标请求进行响应;如果目标请求的token不在预设范围之内,则说明目标APP所发送的目标请求已经过期,在此情况下,应用服务器就可以拒绝目标请求,以让目标APP重新发送请求。
作为一种优选的实施方式,上述反爬虫方法还包括:
记录目标请求的token和/或IP和/或ID,并根据目标请求的token和/或IP和/或ID更新预设范围。
可以理解的是,判断目标请求是否有效所对应的预设范围是随着应用服务器所接收到请求变化而变化的,所以,在本实施例中,为了保证预设范围设置数值的准确性,还记录了目标请求的token和/或IP和/或ID,并根据目标请求的token和/或IP和/或ID来对预设范围进行更新。显然,通过这样的设置方法,就可以相对保证在设置预设范围时的准确性与可靠性。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述反爬虫方法还包括:
获取目标请求的第一时间戳,并获取应用服务器自身在接收到目标请求时的第二时间戳;
判断第一时间戳和第二时间戳之间的目标差值是否大于或等于第一预设阈值;
若目标差值大于或等于第一预设阈值,则拒绝目标请求;
若目标差值小于第一预设阈值,则对目标请求进行响应。
可以理解的是,在实际应用中,在正常情况下,目标APP在向应用服务器发送请求时,应用服务器均会在预设时间内接收到目标APP所发送的请求,如果应用服务器没有在预设时间内接收到目标APP所发送的请求,很大程度上是由于非法分子对目标APP所发送的请求进行了篡改,在此情况下,如果应用服务器再接收或响应目标APP所发送的请求,则会存在很大的安全隐患。
因此,在本实施例中,为了避免上述情况的发生,还获取了目标请求的第一时间戳,并获取应用服务器自身在接收到目标请求时的第二时间戳,如果第一时间戳与第二时间戳之间的目标差值大于或等于第一预设阈值,则应用服务器拒绝目标请求,如果第一时间戳与第二时间戳之间的目标差值小于第一预设阈值,则对目标请求进行响应。
显然,通过本实施例所提供的技术方案,可以进一步保证目标APP和应用服务器在进行信息交互时的安全性与可靠性。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述反爬虫方法还包括:
统计在预设时间段内目标用户的token或IP或ID访问应用服务器的目标次数,并判断目标次数是否超过第二预设阈值;
若目标次数超过第二预设阈值,则将目标用户的token或IP或ID同步至黑名单。
在实际应用中,有时还可能会出现不法分子利用同一个IP地址频繁攻击应用服务器的情况,在本实施例中,为了避免上述情况的发生,还统计了在预设时间段内目标用户的token或IP或ID访问应用服务器的目标次数,并判断目标次数是否超过第二预设阈值;如果目标用户的token或IP或ID访问应用服务器的目标次数超过第二预设阈值,则说明应用服务器遭受到了不法分子的频繁攻击,此时,为了避免应用服务器遭受更大的经济损失,还可以将目标用户的token或IP或ID同步至黑名单,以防止应用服务器对其的响应。
显然,通过本实施例所提供的技术方案,可以进一步降低应用服务器遭受非法分子攻击的概率。
基于上述实施例所公开的技术内容,本实施例通过一个具体应用场景对其进行详细说明,请参见图2,图2为本发明实施例所提供的另一种基于APP接口的反爬虫方法的流程图。
在本实施例中,首先是对目标APP的源代码进行混淆、加固,之后,目标APP生成目标字符串以及相互配对的公钥与私钥,并将私钥发送至应用服务器。同时,目标APP会对目标字符串进行签名,得到第一签名,并利用公钥对目标字符串和第一签名进行加密,得到目标请求;之后,目标APP会将目标请求发送至应用服务器,当应用服务器接收到目标APP所发送的目标请求之后,首先会判断目标请求是否是代理IP所发送的请求,如果是,则拒绝目标请求,如果不是,应用服务器会启动反爬虫风控系统来对目标请求进行检测,也即,应用服务器还会判断目标请求的IP地址是否存在于黑名单中,如果目标请求的IP地址存在于黑名单中,则说明目标请求为非法APP所发送的请求,此时,应用服务器就会拒绝目标请求。如果目标请求的IP地址不存在于黑名单中,此时,应用服务器会对目标APP的身份进行校验。
其中,应用服务器对目标APP的身份进行校验时,首先是利用目标APP所发送的私钥对目标请求进行解密,得到第一签名和目标字符串,然后,再基于目标请求中所蕴含的加密算法对目标字符串进行签名,得到第二签名。如果第二签名和第一签名一致,则说明目标APP所发送的目标请求没有被篡改或伪造,通过了反爬虫风控检测,此时,应用服务器就可以对目标请求进行响应;如果第二签名和第一签名不一致,则说明目标APP所发送的目标请求被非法分子篡改或伪造,不能通过应用服务器的反爬虫风控检测,此时,应用服务器就会拒绝目标请求。
此外,当目标请求通过了应用服务器的反爬虫风控检测时,应用服务器还会将目标请求记录到redis服务器,并会分析目标用户的访问行为是否触发预设阈值,如果目标用户的访问行为触发预设阈值,应用服务器则会将目标用户的token或IP或ID同步至黑名单,以防止应用服务器下一次对其进行响应。显然,通过本实施例所提供的技术方案,可以进一步保证应用服务器和目标APP在进行信息交互时的安全性。
请参见图3,图3为本发明实施例所提供的一种基于APP接口的反爬虫装置的结构图,该反爬虫装置包括:
请求判断模块21,用于当接收到目标APP所发送的目标请求时,则判断目标请求是否为代理IP所发送的请求;其中,目标APP在向应用服务器发送目标请求前,生成目标字符串以及相互配对的公钥与私钥,并将私钥发送至应用服务器;对目标字符串进行签名,得到第一签名,并利用公钥对目标字符串和第一签名进行加密,得到目标请求;
第一判定模块22,用于若目标请求为代理IP所发送的请求,则拒绝目标请求;
地址判断模块23,用于若目标请求不是代理IP所发送的请求,则判断目标请求的IP地址是否存在于黑名单中;
第二判定模块24,用于若IP地址存在于黑名单中,则拒绝目标请求;
签名判断模块25,用于若IP地址不存在于黑名单中,则利用私钥对目标请求进行解密,得到第一签名和目标字符串;基于目标请求的加密算法对目标字符串进行签名,得到第二签名,并判断第二签名与第一签名是否一致;
第三判定模块26,用于若第二签名与第一签名一致,则对目标请求进行响应;
第四判定模块27,用于若第二签名与第一签名不一致,则拒绝目标请求。
本发明实施例所提供的一种基于APP接口的反爬虫装置,具有前述所公开的一种基于APP接口的反爬虫方法所具有的有益效果。
请参见图4,图4为本发明实施例所提供的一种基于APP接口的反爬虫设备的结构图,该反爬虫设备包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序时实现如前述所公开的一种基于APP接口的反爬虫方法的步骤。
本发明实施例所提供的一种基于APP接口的反爬虫设备,具有前述所公开的一种基于APP接口的反爬虫方法所具有的有益效果。
相应的,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述所公开的一种基于APP接口的反爬虫方法的步骤。
本发明实施例所提供的一种计算机可读存储介质,具有前述所公开的一种基于APP接口的反爬虫方法所具有的有益效果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种基于APP接口的反爬虫方法、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于APP接口的反爬虫方法,其特征在于,应用于应用服务器,包括:
当接收到目标APP所发送的目标请求时,则判断所述目标请求是否为代理IP所发送的请求;其中,所述目标APP在向所述应用服务器发送所述目标请求前,生成目标字符串以及相互配对的公钥与私钥,并将所述私钥发送至所述应用服务器;对所述目标字符串进行签名,得到第一签名,并利用所述公钥对所述目标字符串和所述第一签名进行加密,得到所述目标请求;
若所述目标请求为所述代理IP所发送的请求,则拒绝所述目标请求;
若所述目标请求不是所述代理IP所发送的请求,则判断所述目标请求的IP地址是否存在于黑名单中;
若所述IP地址存在于所述黑名单中,则拒绝所述目标请求;
若所述IP地址不存在于所述黑名单中,则利用所述私钥对所述目标请求进行解密,得到所述第一签名和所述目标字符串;基于所述目标请求的加密算法对所述目标字符串进行签名,得到第二签名,并判断所述第二签名与所述第一签名是否一致;
若所述第二签名与所述第一签名一致,则对所述目标请求进行响应;
若所述第二签名与所述第一签名不一致,则拒绝所述目标请求。
2.根据权利要求1所述的反爬虫方法,其特征在于,所述目标APP在向所述应用服务器发送所述目标请求前,还包括:
对所述目标APP的源代码进行混淆,得到混淆代码,并对所述混淆代码进行加固。
3.根据权利要求1所述的反爬虫方法,其特征在于,所述生成目标字符串以及相互配对的公钥与私钥的过程,包括:
利用OpenSSL生成相互配对的所述公钥和所述私钥。
4.根据权利要求1所述的反爬虫方法,其特征在于,所述判断所述目标请求是否为代理IP所发送的请求的过程,包括:
利用NSURL Protocol或System.getProperty判断所述目标请求是否为所述代理IP所发送的请求。
5.根据权利要求1所述的反爬虫方法,其特征在于,还包括:
获取所述目标请求的token,并判断所述token是否在预设范围之内;
若所述token不在所述预设范围之内,则拒绝所述目标请求;
若所述token在所述预设范围之内,则对所述目标请求进行响应。
6.根据权利要求5所述的反爬虫方法,其特征在于,还包括:
记录所述目标请求的token和/或IP和/或ID,并根据所述目标请求的token和/或IP和/或ID更新所述预设范围。
7.根据权利要求1所述的反爬虫方法,其特征在于,还包括:
获取所述目标请求的第一时间戳,并获取所述应用服务器自身在接收到所述目标请求时的第二时间戳;
判断所述第一时间戳和所述第二时间戳之间的目标差值是否大于或等于第一预设阈值;
若所述目标差值大于或等于所述第一预设阈值,则拒绝所述目标请求;
若所述目标差值小于所述第一预设阈值,则对所述目标请求进行响应。
8.根据权利要求1至7任一项所述的反爬虫方法,其特征在于,还包括:
统计在预设时间段内目标用户的token或IP或ID访问所述应用服务器的目标次数,并判断所述目标次数是否超过第二预设阈值;
若所述目标次数超过所述第二预设阈值,则将所述目标用户的token或IP或ID同步至所述黑名单。
9.一种基于APP接口的反爬虫设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的一种基于APP接口的反爬虫方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的一种基于APP接口的反爬虫方法的步骤。
CN202011445052.1A 2020-12-11 2020-12-11 一种基于app接口的反爬虫方法、设备及介质 Pending CN112688919A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011445052.1A CN112688919A (zh) 2020-12-11 2020-12-11 一种基于app接口的反爬虫方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011445052.1A CN112688919A (zh) 2020-12-11 2020-12-11 一种基于app接口的反爬虫方法、设备及介质

Publications (1)

Publication Number Publication Date
CN112688919A true CN112688919A (zh) 2021-04-20

Family

ID=75448423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011445052.1A Pending CN112688919A (zh) 2020-12-11 2020-12-11 一种基于app接口的反爬虫方法、设备及介质

Country Status (1)

Country Link
CN (1) CN112688919A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804269A (zh) * 2021-04-14 2021-05-14 中建电子商务有限责任公司 一种实现网站接口反爬虫的方法
CN113364753A (zh) * 2021-05-31 2021-09-07 平安国际智慧城市科技股份有限公司 反爬虫方法、装置、电子设备及计算机可读存储介质
CN113609501A (zh) * 2021-08-05 2021-11-05 广州南洋理工职业学院 一种基于非对称二次加密的反爬虫方法及系统
CN113609366A (zh) * 2021-08-04 2021-11-05 深圳市元征科技股份有限公司 数据获取方法、装置、终端设备及可读存储介质
CN114036364A (zh) * 2021-11-08 2022-02-11 北京百度网讯科技有限公司 用于识别爬虫的方法、装置、设备、介质和产品

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120008529A1 (en) * 2010-03-26 2012-01-12 Averbuch Aaron H Configuring a secure network
CN103701795A (zh) * 2013-12-20 2014-04-02 北京奇虎科技有限公司 拒绝服务攻击的攻击源的识别方法和装置
CN106326694A (zh) * 2016-08-30 2017-01-11 北京鼎源科技有限公司 一种基于C源代码的混淆的Android应用加固方法
CN106657057A (zh) * 2016-12-20 2017-05-10 北京金堤科技有限公司 反爬虫系统及方法
CN107135206A (zh) * 2017-04-18 2017-09-05 北京思特奇信息技术股份有限公司 一种互联网环境下接口调用的安全防范方法和系统
US20180144147A1 (en) * 2015-05-22 2018-05-24 John A. Nix Cryptographic Unit for Public Key Infrastructure (PKI) Operations
CN109561086A (zh) * 2018-11-28 2019-04-02 四川长虹电器股份有限公司 一种利用人类行为学进行反爬虫的方法
CN110020512A (zh) * 2019-04-12 2019-07-16 重庆天蓬网络有限公司 一种反爬虫的方法、装置、设备及存储介质
CN110545173A (zh) * 2019-07-29 2019-12-06 大众问问(北京)信息科技有限公司 一种安全验证及发送请求的方法及装置
CN110611670A (zh) * 2019-09-12 2019-12-24 贵阳叁玖互联网医疗有限公司 一种api请求的加密方法及装置
CN111147456A (zh) * 2019-12-12 2020-05-12 杭州安恒信息技术股份有限公司 一种适用于多框架多平台的接口认证方法
CN111314351A (zh) * 2020-02-19 2020-06-19 望海康信(北京)科技股份公司 反爬虫的数据处理方法、装置、电子设备及存储介质
CN111428108A (zh) * 2020-03-25 2020-07-17 山东浪潮通软信息科技有限公司 一种基于深度学习的反爬虫方法、装置和介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120008529A1 (en) * 2010-03-26 2012-01-12 Averbuch Aaron H Configuring a secure network
CN103701795A (zh) * 2013-12-20 2014-04-02 北京奇虎科技有限公司 拒绝服务攻击的攻击源的识别方法和装置
US20180144147A1 (en) * 2015-05-22 2018-05-24 John A. Nix Cryptographic Unit for Public Key Infrastructure (PKI) Operations
CN106326694A (zh) * 2016-08-30 2017-01-11 北京鼎源科技有限公司 一种基于C源代码的混淆的Android应用加固方法
CN106657057A (zh) * 2016-12-20 2017-05-10 北京金堤科技有限公司 反爬虫系统及方法
CN107135206A (zh) * 2017-04-18 2017-09-05 北京思特奇信息技术股份有限公司 一种互联网环境下接口调用的安全防范方法和系统
CN109561086A (zh) * 2018-11-28 2019-04-02 四川长虹电器股份有限公司 一种利用人类行为学进行反爬虫的方法
CN110020512A (zh) * 2019-04-12 2019-07-16 重庆天蓬网络有限公司 一种反爬虫的方法、装置、设备及存储介质
CN110545173A (zh) * 2019-07-29 2019-12-06 大众问问(北京)信息科技有限公司 一种安全验证及发送请求的方法及装置
CN110611670A (zh) * 2019-09-12 2019-12-24 贵阳叁玖互联网医疗有限公司 一种api请求的加密方法及装置
CN111147456A (zh) * 2019-12-12 2020-05-12 杭州安恒信息技术股份有限公司 一种适用于多框架多平台的接口认证方法
CN111314351A (zh) * 2020-02-19 2020-06-19 望海康信(北京)科技股份公司 反爬虫的数据处理方法、装置、电子设备及存储介质
CN111428108A (zh) * 2020-03-25 2020-07-17 山东浪潮通软信息科技有限公司 一种基于深度学习的反爬虫方法、装置和介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张晔,等: "国外科技网站反爬虫研究", 《竞争情报》 *
李培: "基于Python 的网络爬虫与反爬虫技术研究", 《计算机与数字工程》 *
牟云飞 等: "《微信公众平台商业应用搭建、支付开发与运维实践》" *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804269A (zh) * 2021-04-14 2021-05-14 中建电子商务有限责任公司 一种实现网站接口反爬虫的方法
CN113364753A (zh) * 2021-05-31 2021-09-07 平安国际智慧城市科技股份有限公司 反爬虫方法、装置、电子设备及计算机可读存储介质
CN113364753B (zh) * 2021-05-31 2022-10-14 深圳赛安特技术服务有限公司 反爬虫方法、装置、电子设备及计算机可读存储介质
CN113609366A (zh) * 2021-08-04 2021-11-05 深圳市元征科技股份有限公司 数据获取方法、装置、终端设备及可读存储介质
CN113609501A (zh) * 2021-08-05 2021-11-05 广州南洋理工职业学院 一种基于非对称二次加密的反爬虫方法及系统
CN113609501B (zh) * 2021-08-05 2024-07-02 广州南洋理工职业学院 一种基于非对称二次加密的反爬虫方法及系统
CN114036364A (zh) * 2021-11-08 2022-02-11 北京百度网讯科技有限公司 用于识别爬虫的方法、装置、设备、介质和产品

Similar Documents

Publication Publication Date Title
CN112688919A (zh) 一种基于app接口的反爬虫方法、设备及介质
CN107135073B (zh) 接口调用方法和装置
CN112333198B (zh) 安全跨域登录方法、系统及服务器
US8813181B2 (en) Electronic verification systems
US20160285861A1 (en) A system and method for authenticating the legitimacy of a request for a resource by a user
CN110690972B (zh) 令牌认证方法、装置、电子设备及存储介质
US10263782B2 (en) Soft-token authentication system
CN1993921A (zh) 利用服务供应商鉴权的增强的安全性
CN109831311B (zh) 一种服务器验证方法、系统、用户终端及可读存储介质
CN102110200A (zh) 计算机可执行的认证方法
US8769303B2 (en) Infrastructure independent recovery key release
CN113225324B (zh) 区块链匿名账户创建方法、系统、设备及存储介质
CN110943840B (zh) 一种签名验证方法
CN112968910B (zh) 一种防重放攻击方法和装置
CN111901124B (zh) 一种通信安全防护方法、装置及电子设备
CN111935123B (zh) 一种检测dns欺骗攻击的方法、设备、存储介质
US10122755B2 (en) Method and apparatus for detecting that an attacker has sent one or more messages to a receiver node
US7739500B2 (en) Method and system for consistent recognition of ongoing digital relationships
CN108900595B (zh) 访问云存储服务器数据的方法、装置、设备及计算介质
CN116579006B (zh) 一种关键数据销毁方法、系统及电子设备
CN111614458A (zh) 网关jwt的生成方法、系统及存储介质
CN109145543B (zh) 一种身份认证方法
Jakobsson et al. Server-side detection of malware infection
CN108965335B (zh) 防止恶意访问登录接口的方法、电子设备及计算机介质
CN116112234A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210420

RJ01 Rejection of invention patent application after publication