【技术实现步骤摘要】
一种基于动态码的反爬虫方法、系统、客户端和服务器
[0001]本申请涉及互联网
,尤其涉及一种基于动态码的反爬虫方法、系统、客户端和服务器。
技术介绍
[0002]国内航空业迅速发展,航空公司逐步建立了自己的电商网站,用于提供机票在线查询、销售、售后服务,及发布静态公告信息。机票价格和服务变得高效、透明,为了获取更多的航空公司的机票报价,存在一些网络工具(例如网络爬虫),不间断的访问某一个或多个航空公司的机票查询页面,这些询价访问对应航空公司而言,造成了极大的困扰(例如拖累网站的运行速度、增加网站运维成本、阻碍客户的正常购票行为)。
[0003]目前,较为常用的反爬虫手段,通常为:HTTP请求头分析拦截。然而,HTTP请求头的信息是浏览器封装的,但是可以很容易通过工具模拟产生,同时可以预设多套浏览器信息,在访问的时候随机使用、动态变化,预设的请求头信息采用高仿真的数据,服务器无法分辨出是真实的访问、还是网络爬虫的访问,从而不能有效拦截爬虫请求。
[0004]为此,如何有效拦截网络爬虫,成为航司网站亟需解 ...
【技术保护点】
【技术特征摘要】
1.一种基于动态码的反爬虫方法,其特征在于,应用于服务器,包括:在接收到客户端发送的访问请求的情况下,从预存的各个动态码算法中,筛选出与所述客户端的可疑等级对应的动态码算法,作为目标动态码算法;从目标动态码信息所包含的各个动态码中,选取一个动态码,作为第一动态码;所述目标动态码信息为:使用所述目标动态码算法,预先生成的动态码信息;从剩余的所述动态码中,选取满足预设条件的动态码,作为第二动态码;所述预设条件为:将所述第一动态码作为所述目标动态码算法的初始输入,通过所述目标动态码算法进行n次迭代计算后,所得到的动态码;n的取值基于所述可疑等级所确定;对所述第二动态码进行加密,得到第二动态码密文;将所述目标动态码算法、所述第一动态码、以及所述第二动态码密文,发送给所述客户端,触发所述客户端计算得到目标动态码;在接收到所述客户端发送的所述目标动态码的情况下,将所述第二动态码与所述目标动态码进行比较;在所述第二动态码与所述目标动态码不相同的情况下,向所述客户端发送无权访问提示。2.根据权利要求1所述的方法,其特征在于,所述从预存的各个动态码算法中,筛选出与所述客户端的可疑等级对应的动态码算法,作为目标动态码算法,包括:调用大数据服务,对所述客户端的历史浏览信息进行数据挖掘,得到所述客户端的可疑等级;所述可疑等级用于指示所述客户端与网络爬虫的相似度;将与所述可疑等级对应的算法难度,标识为目标算法难度;所述算法难度用于指示动态码算法的复杂度;从预存的各个所述动态码算法中,筛选出与所述目标算法难度对应的动态码算法,作为目标动态码算法。3.根据权利要求1所述的方法,其特征在于,所述n的取值基于所述可疑等级所确定,包括:将与所述可疑等级对应的计算次数,标识为目标计算次数;所述计算次数用于指示动态码算法的迭代计算次数;将所述目标计算次数作为n的取值。4.根据权利要求1所述的方法,其特征在于,还包括:在所述第二动态码与所述目标动态码相同的情况下,向所述客户端发送所述访问请求所指示的资源信息。5.一种基于动态码的反爬虫方法,其特征在于,应用于客户端,包括:向服务器发送访问请求;接收所述服务器基于所述访问请求发送的信息;所述信息包括目标动态码算法、第一动态码、以及第二动态码密文;将所述第一动态码作为所述目标动态码算法的初始输入,重复通过所述目标动态码算法进行迭代计算,直至迭代计算得到的动态码的密文与所述第二动态码密文相同;所述动态码的密文基于对迭代计算得到的动态码进行加密得到;向所述服务器发送目标动态码;所述目标动态码为:所述密文与所述第二动态码密文
相同的动态码。6.一种服务器,其特征在于,包括:筛选单元,用于在接收到客户端发送的访问请求的情况下,从预存的各个动态码算法中,筛选出与所述客户端的可疑等级对应的动态码算法,作为目标动态码算法;第一选取单元,用于从目标动态码信息所包含的各个动态码中,选取一个动态码,作为第一动态码;所述目标动态码信息为:使用所述目标动态码算法,预先生成的动态码信息;第二选取单元,用于从剩余的所述动态码中,选取满足预设条件的动态码,作为第二动态码;所述预设条件为:将所述第一动态码作为所述目标动态码算法的初始输入,通过所述目标动态码算...
【专利技术属性】
技术研发人员:余张春,张顺红,姜兵,陈淼杰,胡建强,安海平,
申请(专利权)人:中国民航信息网络股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。