[发明专利]一种实现网站接口反爬虫的方法有效
申请号: | 202110397562.4 | 申请日: | 2021-04-14 |
公开(公告)号: | CN112804269B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 袁海涛;杨鑫 | 申请(专利权)人: | 中建电子商务有限责任公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32;H04L29/08 |
代理公司: | 成都春夏知识产权代理事务所(特殊普通合伙) 51317 | 代理人: | 夏琴 |
地址: | 610000 四川省成都市青*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 网站 接口 爬虫 方法 | ||
本发明涉及实现网站接口反爬虫的方法,包括:在客户端启动时,向服务器申请公钥和私钥,并同步客户端时间与服务器时间;客户端将基于加密SDK加密生成的第一Token和时间戳附加在Http请求中,传递给服务器;服务器接收到Http请求并进行反爬虫检查,若不存在第一Token和时间戳、或者Http请求中的时间戳与服务器时间差值大于设置的时间阈值,则返回非法请求响应;若时间戳与服务器时间差值小于等于设置的时间阈值则进入下一步;服务器获取下发给客户端的公钥和私钥加密生成第二Token,对比第二Token和第一Token,不一致为非法请求响应,一致为合法请求。本方案在反爬虫检查过程中不影响客户端的正常使用,能有效遏制爬虫行为。
技术领域
本发明涉及信息安全技术领域,特别是一种实现网站接口反爬虫的方法。
背景技术
随着移动互联网蓬勃发展,越来越多的网站和软件系统为公共网络提供着服务。网站和软件在为用户提供着便捷的服务同时,也面临着各种非法操作的危险与损失,其中比较典型的就是被爬虫非法爬取数据。尤其是现在正在运行的很多网站和软件系统在开发设计初期,并没有考虑关于接口反爬虫等措施。基于当前网络的发展趋势,数据可以免费试用,但是需要避免恶意爬虫爬取;所以在可接受的影响与成本前提下,对敏感数据添加反爬虫措施势在必行。
一般网站和软件系统会把资源分为公共资源(即为游客可访问)、非公共资源(即需要登录认证)和保密资源(即需要登录+特定权限认证)。现有技术中,针对无定向爬虫,常见措施就是增加登录认证检查。现有技术中,针对定向爬虫或针对性爬虫数据,常见措施有:参数加密,基于公钥和私钥的接口参数加密认证;Https证书加密;安装证书。
现在技术的方法中主要存在以下问题:(1)登录认证方案不能保护针对公共资源的爬虫行为(例如行业类目数据等);而且不能保护绕过登录认证的定向爬虫行为。(2)参数加密方案对就系统改造成本极高,影响范围极大。(3)Https证书加密方案主要是针对传输安全防篡改,不能有效解决爬虫行为。(4)安装授权证书或U盾的方案仅可使用于特定系统(银行或政府保密网站等),因此不适用互联网场景,不具备通用性。(5)网络爬虫拦截并模拟加密请求,在加密有效时间内会出现成功访问的情况。
发明内容
本发明要解决的技术问题是:为了解决反爬虫方案存在的成本高、安全性低、通用性差的问题,提出了一种实现网站接口反爬虫的方法。
为实现上述目的,本发明采用的技术方案如下:一种实现网站接口反爬虫的方法,包括:
步骤S1,在客户端启动时,向服务器申请公钥和私钥,并同步客户端时间与服务器时间;
步骤S2,客户端将基于加密SDK加密生成的第一Token和时间戳附加在Http请求中,传递给服务器;
步骤S3,服务器接收到Http请求并进行反爬虫检查,检查Http请求中的第一Token和时间戳,如果不存在第一Token和时间戳、或者Http请求中的时间戳与服务器时间差值大于设置的时间阈值,则返回非法请求响应;如果Http请求中的时间戳与服务器时间差值小于等于设置的时间阈值,则进入步骤S4;
步骤S4,服务器获取下发给客户端的公钥和私钥,加密生成第二Token,对比第二Token和第一Token是否一致,如果不一致则返回非法请求响应,如果一致则为合法请求。
进一步的,所述步骤S2中,当客户端发起每个Http请求发起时,以公钥、私钥、时间戳作为加密源,基于加密SDK生成第一Token,并将第一token 和加密源中的时间戳一起作为参数附加在Http请求的Header中与业务参数一起传递给服务器。
进一步的,所述步骤S3中,服务器接收到Http请求时,先判断接收到的Http请求地址是否为服务器黑名单地址,如果不是黑名单地址则不进行反爬虫检查;如果是黑名单地址,则再判断接收到的Http请求地址是否为服务器白名单地址,如果是白名单地址则不进行反爬虫检查,如果不是白名单地址则进行反爬虫检查。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中建电子商务有限责任公司,未经中建电子商务有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110397562.4/2.html,转载请声明来源钻瓜专利网。