CN105812366B - 服务器、反爬虫系统和反爬虫验证方法 - Google Patents
服务器、反爬虫系统和反爬虫验证方法 Download PDFInfo
- Publication number
- CN105812366B CN105812366B CN201610143270.7A CN201610143270A CN105812366B CN 105812366 B CN105812366 B CN 105812366B CN 201610143270 A CN201610143270 A CN 201610143270A CN 105812366 B CN105812366 B CN 105812366B
- Authority
- CN
- China
- Prior art keywords
- client
- function
- server
- data
- encryption
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种服务器、反爬虫系统和反爬虫验证方法,服务器包括存储器、生成模块、抽取模块、加密模块和验证模块,存储器存有多个函数,每一函数包括加密函数和解密函数;生成模块在收到客户端发来的获取数据的请求信息后随机生成随机密码;抽取模块从该些函数中随机抽取至少一函数;加密模块利用抽取出的加密函数对随机密码进行加密处理,并将加密处理获得的加密密码发送至客户端;验证模块在收到客户端发来的针对加密密码的解密结果时对解密结果进行验证,在解密结果与随机密码相同时发送请求信息所需获取的数据至客户端,否则不发送请求信息所需获取的数据至客户端,本发明加密函数的个数和加密顺序均为随机的,可增加爬虫破解的难度。
Description
技术领域
本发明涉及一种反爬虫技术,特别涉及一种动态选择加解密函数的服务器、包括该服务器的反爬虫系统和利用该反爬虫系统实现的反爬虫验证方法。
背景技术
随着互联网的发展,目前互联网上的爬虫量日益增加,爬虫者会伪造用户行为,不断地访问服务器获取信息,这样会大大拖慢服务器速度,并且会造成私有信息资源被批量获取的风险。怎样通过采取先进的反爬虫手段来保护公司私有信息资源已经成为一个急需解决的问题。
发明内容
本发明要解决的技术问题是为了克服现有技术中的爬虫者不断地访问服务器获取信息导致服务器速度慢,且造成信息资源被批量获取的缺陷,提供一种服务器、反爬虫系统和反爬虫验证方法。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供一种服务器,其特点在于,其包括一存储器、一生成模块、一抽取模块、一加密模块和一验证模块,该存储器中存储有多个函数,每一函数包括加密函数和对应的解密函数;
该生成模块用于在收到一客户端发来的获取数据的请求信息后随机生成一随机密码;
该抽取模块用于从该些函数中随机抽取至少一个函数;
该加密模块用于利用抽取出的函数中的加密函数对该随机密码进行加密处理,并将加密处理获得的加密密码和抽取出的函数中的解密函数发送至该客户端;
该验证模块用于在接收到该客户端发来的针对该加密密码的解密结果时,对该解密结果进行验证,在该解密结果与该随机密码相同时发送该请求信息所需获取的数据至该客户端,在该解密结果与该随机密码不同时不发送该请求信息所需获取的数据至该客户端。
在本方案中,由于抽取的加解密函数的个数和顺序都是随机的,使得每次客户端的解密过程都不一样,从而大大提高爬虫破解的难度,对爬虫进行更有效的拦截。
较佳地,该验证模块用于在该解密结果与该随机密码不同时发送一假数据至该客户端,该假数据为除该请求信息所需获取的数据之外的数据。
较佳地,该验证模块用于在该解密结果与该随机密码不同时不发送任何数据至该客户端。
较佳地,该加密模块用于利用抽取出的加密函数依次对该随机密码进行加密处理,并将该加密密码、加密函数加密顺序和抽取出的解密函数发送至该客户端。
较佳地,该存储器为可添加的或可变更的。
本发明还提供一种反爬虫系统,其特点在于,其包括上述的服务器和客户端。
本发明还提供一种反爬虫验证方法,其特点在于,其利用上述的反爬虫系统实现,其包括以下步骤:
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、不发送该请求信息所需获取的数据至该客户端,结束流程。
例如:该服务器在该解密结果与该随机密码不同时发送一假数据至该客户端,该假数据为除该请求信息所需获取的数据之外的数据;或者,该服务器在该解密结果与该随机密码不同时不发送任何数据至该客户端。
为了使得本领域的技术人员更好地理解本发明的技术方案,下面举一具体的例子来进一步说明:
设定服务器中存储有5个函数,即5对加解密函数(+A加密函数与-A解密函数、+B加密函数与-B解密函数、+C加密函数与-C解密函数、+D加密函数与-D解密函数以及+E加密函数与-E解密函数)。
服务器收到客户端发来的获取数据的请求信息(例如/check请求)后随机生成一个随机密码key,然后从5对加解密函数中依次抽取+A加密函数与-A解密函数、+C加密函数与-C解密函数、+D加密函数与-D解密函数,利用其中的+A加密函数、+C加密函数和+D加密函数依次对该随机密码key进行加密处理。
具体地,先用+A加密函数对该随机密码key进行加密,得到一个结果k1(k1=+A(key)),接着用+C加密函数对经函数A的加密结果k1再次加密得到k2(k2=+C(k1)),最后用+D加密函数对经函数C的加密结果k2进行加密,得到最终加密后的encoded_key(encoded_key=+D(k2)),即
key→(+A)→(+C)→(+D)→encoded_key。
其后,将加密处理获得的加密密码encoded_key和抽取出的解密函数(即-A解密函数、-C解密函数和-D解密函数)发送至该客户端,该客户端对该加密密码encoded_key进行解密处理,并将解密处理获得的解密结果发送至该服务器,该服务器对该解密结果进行验证,在该解密结果与该随机密码key相同时表明解密成功,解密者为正常的用户,此时服务器发送该请求信息所需获取的数据至该客户端,在该解密结果与该随机密码key不同时表明解密失败,解密者不是正常的用户,而是爬虫者,这时服务器发送一假数据或者不发送任何数据给该客户端。
在上述验证过程中,函数的个数和顺序是随机抽取的,这可大大增加爬虫破解的难度,在不占用大量存储空间和CPU(中央处理器)资源的情况下提高爬虫的拦截率。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (8)
1.一种服务器,其特征在于,其包括一存储器、一生成模块、一抽取模块、一加密模块和一验证模块,该存储器中存储有多个函数,每一函数包括加密函数和对应的解密函数;
该生成模块用于在收到一客户端发来的获取数据的请求信息后随机生成一随机密码;
该抽取模块用于从该些函数中随机抽取至少一个函数;
该加密模块用于利用抽取出的函数中的加密函数对该随机密码进行加密处理,并将加密处理获得的加密密码和抽取出的函数中的解密函数发送至该客户端;
该验证模块用于在接收到该客户端发来的针对该加密密码的解密结果时,对该解密结果进行验证,在该解密结果与该随机密码相同时发送该请求信息所需获取的数据至该客户端,在该解密结果与该随机密码不同时不发送该请求信息所需获取的数据至该客户端;
该验证模块用于在该解密结果与该随机密码不同时发送一假数据至该客户端,该假数据为除该请求信息所需获取的数据之外的数据。
2.如权利要求1所述的服务器,其特征在于,该验证模块用于在该解密结果与该随机密码不同时不发送任何数据至该客户端。
3.如权利要求1所述的服务器,其特征在于,该加密模块用于利用抽取出的加密函数依次对该随机密码进行加密处理,并将该加密密码、加密函数加密顺序和抽取出的解密函数发送至该客户端。
4.如权利要求1所述的服务器,其特征在于,该存储器为可添加的或可变更的。
5.一种反爬虫系统,其特征在于,其包括如权利要求1-4中任意一项所述的服务器和权利要求1中的客户端。
6.一种反爬虫验证方法,其特征在于,其利用如权利要求5所述的反爬虫系统实现,其包括以下步骤:
S1、该客户端发送该获取数据的请求信息至该服务器;
S2、该服务器收到该请求信息后随机生成该随机密码;
S3、该服务器从该些函数中随机抽取至少一个函数;
S4、该服务器利用抽取出的函数中的加密函数对该随机密码进行加密处理,并将加密处理获得的加密密码和抽取出的函数中的解密函数发送至该客户端;
S5、该客户端对该加密密码进行解密处理,并将解密处理获得的解密结果发送至该服务器;
S6、该服务器对该解密结果进行验证,在该解密结果与该随机密码相同时发送该请求信息所需获取的数据至该客户端,否则不发送该请求信息所需获取的数据至该客户端;
在步骤S6中,该服务器在该解密结果与该随机密码不同时发送一假数据至该客户端,该假数据为除该请求信息所需获取的数据之外的数据。
7.如权利要求6所述的反爬虫验证方法,其特征在于,在步骤S6中,该服务器在该解密结果与该随机密码不同时不发送任何数据至该客户端。
8.如权利要求6所述的反爬虫验证方法,其特征在于,在步骤S4中,利用抽取出的加密函数依次对该随机密码进行加密处理,并将该加密密码、加密函数加密顺序和抽取出的解密函数发送至该客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610143270.7A CN105812366B (zh) | 2016-03-14 | 2016-03-14 | 服务器、反爬虫系统和反爬虫验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610143270.7A CN105812366B (zh) | 2016-03-14 | 2016-03-14 | 服务器、反爬虫系统和反爬虫验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105812366A CN105812366A (zh) | 2016-07-27 |
CN105812366B true CN105812366B (zh) | 2019-09-24 |
Family
ID=56467314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610143270.7A Active CN105812366B (zh) | 2016-03-14 | 2016-03-14 | 服务器、反爬虫系统和反爬虫验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812366B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426148B (zh) * | 2017-03-30 | 2020-07-31 | 成都优易数据有限公司 | 一种基于运行环境特征识别的反爬虫方法及系统 |
CN108429757A (zh) * | 2018-03-26 | 2018-08-21 | 成都睿码科技有限责任公司 | 一种保护网站资源的反爬方法 |
CN111817845B (zh) * | 2019-04-11 | 2022-07-22 | 亿度慧达教育科技(北京)有限公司 | 反爬虫方法及计算机存储介质 |
CN110474890B (zh) * | 2019-07-29 | 2022-05-10 | 深圳数位大数据科技有限公司 | 一种基于智能流量导向切换的数据反爬取方法及装置 |
EP3799683B1 (en) | 2020-03-06 | 2022-10-05 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and devices for generating and verifying passwords |
CN111901332A (zh) * | 2020-07-27 | 2020-11-06 | 北京百川盈孚科技有限公司 | 网页内容反爬方法及系统 |
CN112948862B (zh) * | 2021-03-10 | 2021-10-29 | 山西云媒体发展有限公司 | 一种企业信息服务系统 |
CN114036364B (zh) * | 2021-11-08 | 2022-10-21 | 北京百度网讯科技有限公司 | 用于识别爬虫的方法、装置、设备、介质和系统 |
CN114338146B (zh) * | 2021-12-27 | 2023-08-15 | 中国民航信息网络股份有限公司 | 一种基于动态码的反爬虫方法、系统、客户端和服务器 |
CN116389013B (zh) * | 2023-06-07 | 2023-09-15 | 广州鲁邦通智能科技有限公司 | 一种短信密码验证方法、移动终端、系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747382A (zh) * | 2005-09-06 | 2006-03-15 | 徐文祥 | 随机加密及身份认证方法 |
CN103401880A (zh) * | 2013-08-15 | 2013-11-20 | 西南大学 | 一种自动登录的工业控制系统及控制方法 |
CN103618649A (zh) * | 2013-12-03 | 2014-03-05 | 北京人民在线网络有限公司 | 网站数据采集方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006080623A (ja) * | 2004-09-07 | 2006-03-23 | Canon Inc | 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 |
JP2006080642A (ja) * | 2004-09-07 | 2006-03-23 | Sony Corp | 情報処理装置および方法、プログラム並びに記録媒体 |
CN102546562A (zh) * | 2010-12-22 | 2012-07-04 | 腾讯科技(深圳)有限公司 | 在web中传输数据时进行加解密的方法及系统 |
-
2016
- 2016-03-14 CN CN201610143270.7A patent/CN105812366B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747382A (zh) * | 2005-09-06 | 2006-03-15 | 徐文祥 | 随机加密及身份认证方法 |
CN103401880A (zh) * | 2013-08-15 | 2013-11-20 | 西南大学 | 一种自动登录的工业控制系统及控制方法 |
CN103618649A (zh) * | 2013-12-03 | 2014-03-05 | 北京人民在线网络有限公司 | 网站数据采集方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105812366A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105812366B (zh) | 服务器、反爬虫系统和反爬虫验证方法 | |
CN104219228B (zh) | 一种用户注册、用户识别方法及系统 | |
CN113067699B (zh) | 基于量子密钥的数据共享方法、装置和计算机设备 | |
CN107359998B (zh) | 一种便携式智能口令管理体制的建立与操作方法 | |
CN104917741B (zh) | 一种基于usbkey的明文文档公网安全传输系统 | |
CN110099048B (zh) | 一种云存储方法及设备 | |
CN109543434B (zh) | 区块链信息加密方法、解密方法、存储方法及装置 | |
CN106060078B (zh) | 应用于云平台的用户信息加密方法、注册方法及验证方法 | |
CN101651666A (zh) | 一种基于虚拟专用网的身份认证及单点登录的方法和装置 | |
CN105471584A (zh) | 一种基于量子密钥加密的身份认证方法 | |
CN102025503B (zh) | 一种集群环境下数据安全实现方法和一种高安全性的集群 | |
CN104486087B (zh) | 一种基于远程硬件安全模块的数字签名方法 | |
CN109412812A (zh) | 数据安全处理系统、方法、装置和存储介质 | |
CN103780609A (zh) | 一种云数据的处理方法、装置和云数据安全网关 | |
CN113225297B (zh) | 数据混合加密方法、装置及设备 | |
CN106936579A (zh) | 基于可信第三方代理的云存储数据存储及读取方法 | |
CN112422287B (zh) | 基于密码学的多层级角色权限控制方法和装置 | |
CN106533677B (zh) | 一种用户登录方法、用户终端及服务器 | |
CN101894232B (zh) | 一种应用在身份鉴别中的安全输入法 | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN102404337A (zh) | 数据加密方法和装置 | |
CN105657699B (zh) | 数据安全传输方法 | |
CN114567470A (zh) | 一种基于sdk的多系统下密钥拆分验证系统及方法 | |
CN115883052A (zh) | 数据加密方法、数据解密方法、设备及存储介质 | |
CN104767766A (zh) | 一种Web Service接口验证方法、Web Service服务器、客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |