[发明专利]一种实现网站接口反爬虫的方法有效
申请号: | 202110397562.4 | 申请日: | 2021-04-14 |
公开(公告)号: | CN112804269B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 袁海涛;杨鑫 | 申请(专利权)人: | 中建电子商务有限责任公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32;H04L29/08 |
代理公司: | 成都春夏知识产权代理事务所(特殊普通合伙) 51317 | 代理人: | 夏琴 |
地址: | 610000 四川省成都市青*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 网站 接口 爬虫 方法 | ||
1.一种实现网站接口反爬虫的方法,其特征在于,包括:
步骤S1,在客户端启动时,向服务器申请公钥和私钥,并同步客户端时间与服务器时间;
步骤S2,以公钥、私钥、时间戳作为加密源,客户端将基于加密SDK加密生成的第一Token和时间戳附加在Http请求中,传递给服务器;
步骤S3,服务器接收到Http请求并进行反爬虫检查,检查Http请求中的第一Token和时间戳,如果不存在第一Token和时间戳、或者Http请求中的时间戳与服务器时间差值大于设置的时间阈值,则返回非法请求响应;如果Http请求中的时间戳与服务器时间差值小于等于设置的时间阈值,则进入步骤S4;
步骤S4,服务器获取下发给客户端的公钥和私钥,以公钥、私钥和步骤S3中的时间戳为加密源,基于加密SDK生成第二Token,对比第二Token和第一Token是否一致,如果不一致则返回非法请求响应,如果一致则为合法请求;
所述步骤S2和步骤S4中加密采用的方法包括以下过程:
步骤SA1,将加密源按照名称升序规则排序,以排序后的加密源名称作为Hash的Key,加密源值内容作为Hash的Value,构建加密源的Hash数据结构,然后把Hash数据结构转化为Json格式的字符串S0;
步骤SA2,通过开源算法将字符串S0加密得到新的字符串S1;
步骤SA3,设定第一二次加密参数X,将加密源中的时间戳与第一二次加密参数X取模得到一个数字I,将字符串S1的前面I个字符分割为新的字符串S2,分割后字符串S1的剩余部分作为新的字符串S3;所述第一二次加密参数X为非零自然数;
步骤SA4,将加密源中的时间戳与第二二次加密参数Y取模得到一个数字C;第二二次加密参数Y为非零自然数;
步骤SA5,按照字符串S3、数字C、字符串S2的顺序依次拼接为一个新的字符串S4。
2.如权利要求1所述的实现网站接口反爬虫的方法,其特征在于,所述步骤S2中,当客户端发起每个Http请求发起时,以公钥、私钥、时间戳作为加密源,基于加密SDK生成第一Token,并将第一token 和加密源中的时间戳一起作为参数附加在Http请求的Header中与业务参数一起传递给服务器。
3.如权利要求1所述的实现网站接口反爬虫的方法,其特征在于,所述步骤S3中,服务器接收到Http请求时,先判断接收到的Http请求地址是否为服务器黑名单地址,如果不是黑名单地址则不进行反爬虫检查;如果是黑名单地址,再判断接收到的Http请求地址是否为服务器白名单地址,如果是白名单地址则不进行反爬虫检查,如果不是白名单地址则进行反爬虫检查。
4.如权利要求1所述的实现网站接口反爬虫的方法,其特征在于,所述步骤S3中,PC端的时间阈值设置为5S,移动端的时间阈值设置为15S。
5.如权利要求1所述的实现网站接口反爬虫的方法,其特征在于,所述第一二次加密参数X为1~9的任一自然数,第二二次加密参数Y为1~9的任一自然数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中建电子商务有限责任公司,未经中建电子商务有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110397562.4/1.html,转载请声明来源钻瓜专利网。