服务器、反爬虫系统和反爬虫验证方法技术方案

技术编号:13429674 阅读:36 留言:0更新日期:2016-07-29 23:52
本发明专利技术提供一种服务器、反爬虫系统和反爬虫验证方法,服务器包括存储器、生成模块、抽取模块、加密模块和验证模块,存储器存有多个函数,每一函数包括加密函数和解密函数;生成模块在收到客户端发来的获取数据的请求信息后随机生成随机密码;抽取模块从该些函数中随机抽取至少一函数;加密模块利用抽取出的加密函数对随机密码进行加密处理,并将加密处理获得的加密密码发送至客户端;验证模块在收到客户端发来的针对加密密码的解密结果时对解密结果进行验证,在解密结果与随机密码相同时发送请求信息所需获取的数据至客户端,否则不发送请求信息所需获取的数据至客户端,本发明专利技术加密函数的个数和加密顺序均为随机的,可增加爬虫破解的难度。

【技术实现步骤摘要】

本专利技术涉及一种反爬虫技术,特别涉及一种动态选择加解密函数的服务器、包括该服务器的反爬虫系统和利用该反爬虫系统实现的反爬虫验证方法。
技术介绍
随着互联网的发展,目前互联网上的爬虫量日益增加,爬虫者会伪造用户行为,不断地访问服务器获取信息,这样会大大拖慢服务器速度,并且会造成私有信息资源被批量获取的风险。怎样通过采取先进的反爬虫手段来保护公司私有信息资源已经成为一个急需解决的问题。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中的爬虫者不断地访问服务器获取信息导致服务器速度慢,且造成信息资源被批量获取的缺陷,提供一种服务器、反爬虫系统和反爬虫验证方法。本专利技术是通过下述技术方案来解决上述技术问题的:本专利技术提供一种服务器,其特点在于,其包括一存储器、一生成模块、一抽取模块、一加密模块和一验证模块,该存储器中存储有多个函数,每一函数包括加密函数和对应的解密函数;该生成模块用于在收到一客户端发来的获取数据的请求信息后随机生成一随机密码;该抽取模块用于从该些函数中随机抽取至少一个函数;该加密模块用于利用抽取出的函数中的加密函数对该随机密码进行加密处理,并将加密处理获得的加密密码和抽取出的函数中的解密函数发送至该客户端;该验证模块用于在接收到该客户端发来的针对该加密密码的解密结果时,对该解密结果进行验证,在该解密结果与该随机密码相同时发送该请求信息所需获取的数据至该客户端,在该解密结果与该随机密码不同时不发送该请求信息所需获取的数据至该客户端。在本方案中,由于抽取的加解密函数的个数和顺序都是随机的,使得每次客户端的解密过程都不一样,从而大大提高爬虫破解的难度,对爬虫进行更有效的拦截。较佳地,该验证模块用于在该解密结果与该随机密码不同时发送一假数据至该客户端,该假数据为除该请求信息所需获取的数据之外的数据。较佳地,该验证模块用于在该解密结果与该随机密码不同时不发送任何数据至该客户端。较佳地,该加密模块用于利用抽取出的加密函数依次对该随机密码进行加密处理,并将该加密密码、加密函数加密顺序和抽取出的解密函数发送至该客户端。较佳地,该存储器为可添加的或可变更的。本专利技术还提供一种反爬虫系统,其特点在于,其包括上述的服务器和客户端。本专利技术还提供一种反爬虫验证方法,其特点在于,其利用上述的反爬虫系统实现,其包括以下步骤:S1、该客户端发送该获取数据的请求信息至该服务器;S2、该服务器收到该请求信息后随机生成该随机密码;S3、该服务器从该些函数中随机抽取至少一个函数;S4、该服务器利用抽取出的函数中的加密函数对该随机密码进行加密处理,并将加密处理获得的加密密码和抽取出的函数中的解密函数发送至该客户端;S5、该客户端对该加密密码进行解密处理,并将解密处理获得的解密结果发送至该服务器;S6、该服务器对该解密结果进行验证,在该解密结果与该随机密码相同时发送该请求信息所需获取的数据至该客户端,否则不发送该请求信息所需获取的数据至该客户端。较佳地,在步骤S6中,该服务器在该解密结果与该随机密码不同时发送一假数据至该客户端,该假数据为除该请求信息所需获取的数据之外的数据。较佳地,在步骤S6中,该服务器在该解密结果与该随机密码不同时不发送任何数据至该客户端。较佳地,在步骤S4中,利用抽取出的加密函数依次对该随机密码进行加密处理,并将该加密密码、加密函数加密顺序和抽取出的解密函数发送至该客户端。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。本专利技术的积极进步效果在于:本专利技术由于抽取的加解密函数的个数和顺序都是随机的,使得每次客户端的解密过程都不一样,从而大大提高爬虫破解的难度,对爬虫进行更有效的拦截。而且,可在不改变代码结构的情况下很容易添加新的加解密函数,进一步增加爬虫的破解难度。附图说明图1为本专利技术较佳实施例的服务器的结构框图。图2为本专利技术较佳实施例的反爬虫验证方法的流程图。具体实施方式下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。本实施例提供一种反爬虫系统,其包括一服务器和一客户端。其中,如图1所示,该服务器包括一存储器1、一生成模块2、一抽取模块3、一加密模块4和一验证模块5,该存储器1为可添加的或可变更的,该存储器1中存储有多个函数,每一函数包括加密函数和对应的解密函数。下面介绍各功能模块所具备的功能:该生成模块2用于在收到一客户端发来的获取数据的请求信息后随机生成一随机密码;该抽取模块3用于从该些函数中随机抽取至少一个函数;该加密模块4用于利用抽取出的函数中的加密函数依次对该随机密码进行加密处理,并将加密处理获得的加密密码、加密函数加密顺序和抽取出的函数中的解密函数发送至该客户端;该验证模块5用于在接收到该客户端发来的针对该加密密码的解密结果时,对该解密结果进行验证,在该解密结果与该随机密码相同时发送该请求信息所需获取的数据至该客户端,在该解密结果与该随机密码不同时发送一假数据至该客户端或,不发送任何数据至该客户端,该假数据为除该请求信息所需获取的数据之外的数据。如图2所示,本实施例提供一种反爬虫验证方法,其利用上述的反爬虫系统实现,其包括以下步骤:步骤101、该客户端发送该获取数据的请求信息至该服务器;步骤102、该服务器收到该请求信息后随机生成该随机密码;步骤103、该服务器从该些函数中随机抽取至少一个函数;步骤104、该服务器利用抽取出的函数中的加密函数依次对该随机密码进行加密处理,并将加密处理获得的加密密码和抽取出的函数中的解密函数发送至该客户端;步骤105、该客户端对该加密密码进行解密处理,并将解密处理获得的解密结果发送至该服务器;步骤106、该服务器对该解密结果进行验证,在该解密结果与该随机密码相同时进入步骤107,否则进入步骤108;步骤107、发送该请求信息所需获取的数据至该客户端,结束流程;步骤108、不发送该请求信息所需获取的数据至该客户端,结束流程。例如:该服务器在该解密结果与该随机密码不同时发送一假数据至该客户端,该假数据为除该请求信息所需获取的数据之外的数据;或者,该服务器在该解密结果与该随机密码不同时不发送任何数据至该客户端。为了使得本领域的技术人员更好地理解本专利技术的技术方案,下面本文档来自技高网...

【技术保护点】
一种服务器,其特征在于,其包括一存储器、一生成模块、一抽取模块、一加密模块和一验证模块,该存储器中存储有多个函数,每一函数包括加密函数和对应的解密函数;该生成模块用于在收到一客户端发来的获取数据的请求信息后随机生成一随机密码;该抽取模块用于从该些函数中随机抽取至少一个函数;该加密模块用于利用抽取出的函数中的加密函数对该随机密码进行加密处理,并将加密处理获得的加密密码和抽取出的函数中的解密函数发送至该客户端;该验证模块用于在接收到该客户端发来的针对该加密密码的解密结果时,对该解密结果进行验证,在该解密结果与该随机密码相同时发送该请求信息所需获取的数据至该客户端,在该解密结果与该随机密码不同时不发送该请求信息所需获取的数据至该客户端。

【技术特征摘要】
1.一种服务器,其特征在于,其包括一存储器、一生成模块、一抽取
模块、一加密模块和一验证模块,该存储器中存储有多个函数,每一函数包
括加密函数和对应的解密函数;
该生成模块用于在收到一客户端发来的获取数据的请求信息后随机生
成一随机密码;
该抽取模块用于从该些函数中随机抽取至少一个函数;
该加密模块用于利用抽取出的函数中的加密函数对该随机密码进行加
密处理,并将加密处理获得的加密密码和抽取出的函数中的解密函数发送至
该客户端;
该验证模块用于在接收到该客户端发来的针对该加密密码的解密结果
时,对该解密结果进行验证,在该解密结果与该随机密码相同时发送该请求
信息所需获取的数据至该客户端,在该解密结果与该随机密码不同时不发送
该请求信息所需获取的数据至该客户端。
2.如权利要求1所述的服务器,其特征在于,该验证模块用于在该解
密结果与该随机密码不同时发送一假数据至该客户端,该假数据为除该请求
信息所需获取的数据之外的数据。
3.如权利要求1所述的服务器,其特征在于,该验证模块用于在该解
密结果与该随机密码不同时不发送任何数据至该客户端。
4.如权利要求1所述的服务器,其特征在于,该加密模块用于利用抽
取出的加密函数依次对该随机密码进行加密处理,并将该加密密码、加密函
数加密顺序和抽取出的解密函数发送至该客户端。
5.如权利要求1所述的服务器,其特征在于,该存储器为可添加的或
可变更的。
6.一种反爬虫系统,其特...

【专利技术属性】
技术研发人员:苟顺涛李巍
申请(专利权)人:携程计算机技术上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1