检测反爬虫策略安全性的方法及装置制造方法及图纸

技术编号:13891074 阅读:36 留言:0更新日期:2016-10-24 09:57
本发明专利技术公开了一种检测反爬虫策略安全性的方法及装置,其中,所述方法包括:在网站的第一前端页面中嵌入用于实现反爬虫策略的反爬虫代码;利用所述反爬虫代码检测访问所述第一前端页面的用户是否为爬虫,将被检测出是爬虫的用户记为目标对象;验证所述目标对象是否为爬虫,统计所述目标对象非爬虫的次数;根据所述次数计算所述反爬虫策略的误伤率,所述误伤率用于衡量所述反爬虫策略的安全性。本发明专利技术弥补了现有技术对反爬虫策略的安全性检测不当造成系统伤害的不足,能够对反爬虫策略安全性准确检测,便于及时对反爬虫策略进行修改或更新,避免由于反爬虫策略的安全性对线上系统的稳定性造成影响,在检测爬虫的同时保证系统的稳定性。

【技术实现步骤摘要】

本专利技术涉及一种检测反爬虫策略安全性的方法及装置
技术介绍
目前互联网上的爬虫量日益增加,爬虫也千奇百怪,并且时刻在进化,反爬虫机制也越来越受到严峻的挑战,需要频繁地发布新的反爬虫策略来解决新的爬虫。然而,每次进行发布新版反爬虫策略的时候,都会对线上系统的稳定性造成影响,如果反爬虫策略没有足够的安全性,会在反爬虫的同时对线上系统造成伤害,得不偿失。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术对反爬虫策略的安全性检测不当造成系统伤害的缺陷,提供一种能够准确地检测反爬虫策略安全性的方法及装置。本专利技术是通过以下技术方案解决上述技术问题的:本专利技术提供一种检测反爬虫策略安全性的方法,其特点是,所述方法包括:S1、在网站的第一前端页面中嵌入用于实现反爬虫策略的反爬虫代码;S2、利用所述反爬虫代码检测访问所述第一前端页面的用户是否为爬虫,将被检测出是爬虫的用户记为目标对象;S3、验证所述目标对象是否为爬虫,统计所述目标对象非爬虫的次数;S4、根据所述次数计算所述反爬虫策略的误伤率,所述误伤率用于衡量所述反爬虫策略的安全性。其中,反爬虫策略是通过反爬虫代码实现的;统计出的所述目标对象非爬虫的次数即表示所述反爬虫代码误把非爬虫的用户检测成爬虫的次数,即
所述反爬虫代码检测错误的次数。本技术方案通过计算所述反爬虫策略的误伤率来衡量反爬虫策略的安全性,如果安全性较高,可以将反爬虫策略部署到线上系统中,如果安全性较低,可以及时修改或更新反爬虫策略,避免由于反爬虫策略的安全性对线上系统的稳定性造成影响,在检测爬虫的同时保证系统的稳定性。较佳地,S3通过以下步骤验证所述目标对象是否为爬虫:S31、判断所述目标对象是否访问所述网站的第二前端页面,若是,则所述目标对象非爬虫,若否,则所述目标对象为爬虫。其中,第二前端页面与所述第一前端页面具有关联性,为爬虫在访问了第一前端页面后通常不会访问的页面,如果目标对象访问第二前端页面,则表示所述目标对象非爬虫(不是爬虫),所述反爬虫代码检测错误,如果目标对象没有访问第二前端页面,则表示所述目标对象为爬虫,所述反爬虫代码检测正确。本技术方案能够有效、准确地验证所述目标对象是否为爬虫,进一步验证所述反爬虫代码的安全性。较佳地,所述反爬虫代码包括前端部分,所述前端部分包括有用于检测爬虫的代码,S1包括:S11、在网站的第一前端页面中嵌入第一页面;S12、将用于检测爬虫的代码配置到所述第一页面中。本技术方案通过所述第一页面配置用于检测爬虫的代码嵌入第一前端页面,即使代码或第一页面有误,也不会影响到所述第一前端页面的显示,便于代码的更改。较佳地,所述反爬虫代码还包括后台部分,所述后台部分用于在客户端写入第一数据以及在第二前端页面拦截所述第一数据并统计拦截到的所述第一数据的总数;S1还包括:利用所述后台部分在所述客户端写入第一数据;S3包括:利用所述后台部分在第二前端页面拦截所述第一数据并统计拦截到的所述第一数据的总数;所述误伤率等于所述总数/所述第二前端页面的总访问人数。本技术方案通过判断所述第二前端页面是否拦截到第一数据来判断所述目标对象是否访问所述第二前端页面,若所述第二前端页面拦截到第一数据,则表明所述目标对象访问了所述第二前端页面,所述目标对象非爬虫,若所述第二前端页面未拦截到第一数据,则表明所述目标对象未访问所述第二前端页面,所述目标对象为爬虫。拦截到的所述第一数据的总数等于所述目标对象非爬虫的次数。本技术方案中的误伤率越高则表明所述反爬虫策略的安全性越低,误伤率越低则表明所述反爬虫策略的安全性越高。较佳地,S11还包括:设定在所述第一前端页面中嵌入所述第一页面的概率;所述误伤率等于所述总数/所述概率/所述第二前端页面的总访问人数。较佳地,S1还包括:设定所述第一数据的有效时间,所述第一数据在超过所述有效时间时失效。较佳地,不同的反爬虫策略对应不同的第一数据。本技术方案尤其适用于同时检测多个反爬虫策略的情况,为不同的反爬虫策略(反爬虫代码)设定不同的第一数据,在所述第二前端页面分别统计拦截到的不同的第一数据的总数,通过区别第一数据来判定各个反爬虫策略的安全性。较佳地,所述方法还包括:S5、比较所述误伤率是否低于阈值,若是,则所述反爬虫策略安全;若否,则所述反爬虫策略不安全。本专利技术还提供一种检测反爬虫策略安全性的装置,其特点是,所述装置包括:嵌入单元,用于在网站的第一前端页面中嵌入用于实现反爬虫策略的反爬虫代码;检测单元,用于利用所述反爬虫代码检测访问所述第一前端页面的用户是否为爬虫,将被检测出是爬虫的用户记为目标对象;验证单元,用于验证所述目标对象是否为爬虫,统计所述目标对象非爬虫的次数;计算单元,用于根据所述次数计算所述反爬虫策略的误伤率,所述误伤率用于衡量所述反爬虫策略的安全性。较佳地,所述验证单元通过以下模块验证所述目标对象是否为爬虫:判断模块,用于判断所述目标对象是否访问所述网站的第二前端页面,若是,则所述目标对象非爬虫,若否,则所述目标对象为爬虫。较佳地,所述反爬虫代码包括前端部分,所述前端部分包括有用于检测爬虫的代码,所述嵌入单元包括:页面模块,用于在网站的第一前端页面中嵌入第一页面;配置模块,用于将用于检测爬虫的代码配置到所述第一页面中。较佳地,所述反爬虫代码还包括后台部分,所述后台部分用于在客户端写入第一数据以及在第二前端页面拦截所述第一数据并统计拦截到的所述第一数据的总数;所述嵌入单元还包括:数据模块,用于利用所述后台部分在客户端写入第一数据;所述验证单元包括:拦截模块,用于利用所述后台部分在第二前端页面拦截所述第一数据并统计拦截到的所述第一数据的总数;所述误伤率等于所述总数/所述第二前端页面的总访问人数。较佳地,所述页面模块还用于设定在所述第一前端页面中嵌入所述第一页面的概率;所述误伤率等于所述总数/所述概率/所述第二前端页面的总访问人数。较佳地,所述数据模块还用于设定所述第一数据的有效时间,所述第一数据在超过所述有效时间时失效。较佳地,不同的反爬虫策略对应不同的第一数据。较佳地,所述装置还包括:比较单元,用于比较所述误伤率是否低于阈值,若是,则所述反爬虫策略安全;若否,则所述反爬虫策略不安全。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本专利技术各较佳实例。本专利技术的积极进步效果在于:本专利技术通过计算所述反爬虫策略的误伤率来衡量反爬虫策略的安全性,对反爬虫策略安全性的准确检测,便于及时对反爬虫策略进行修改或更新,避免由于反爬虫策略的安全性对线上系统的稳定性造成影响,在检测爬虫的同时保证系统的稳定性。附图说明图1为本专利技术较佳实施例1的检测反爬虫策略安全性的方法的流程图。图2为本专利技术较佳实施例2的检测反爬虫策略安全性的装置的示意图。具体实施方式下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。实施例1一种检测反爬虫策略安全性的方法,如图1所示,所述方法包括:步骤101、编写用于实现反爬虫策略的反爬虫代码。其中,反爬虫代码包括前端部分和后台部分:所述前端部分包括有用于检测爬虫的代码;后台部分用于在客户端写入第一数据以及设定所述第一数据的有效时间,所述第一数据在超过所述有效时间时失效,在具体实本文档来自技高网...

【技术保护点】
一种检测反爬虫策略安全性的方法,其特征在于,所述方法包括:S1、在网站的第一前端页面中嵌入用于实现反爬虫策略的反爬虫代码;S2、利用所述反爬虫代码检测访问所述第一前端页面的用户是否为爬虫,将被检测出是爬虫的用户记为目标对象;S3、验证所述目标对象是否为爬虫,统计所述目标对象非爬虫的次数;S4、根据所述次数计算所述反爬虫策略的误伤率,所述误伤率用于衡量所述反爬虫策略的安全性。

【技术特征摘要】
1.一种检测反爬虫策略安全性的方法,其特征在于,所述方法包括:S1、在网站的第一前端页面中嵌入用于实现反爬虫策略的反爬虫代码;S2、利用所述反爬虫代码检测访问所述第一前端页面的用户是否为爬虫,将被检测出是爬虫的用户记为目标对象;S3、验证所述目标对象是否为爬虫,统计所述目标对象非爬虫的次数;S4、根据所述次数计算所述反爬虫策略的误伤率,所述误伤率用于衡量所述反爬虫策略的安全性。2.如权利要求1所述的检测反爬虫策略安全性的方法,其特征在于,S3通过以下步骤验证所述目标对象是否为爬虫:S31、判断所述目标对象是否访问所述网站的第二前端页面,若是,则所述目标对象非爬虫,若否,则所述目标对象为爬虫。3.如权利要求2所述的检测反爬虫策略安全性的方法,其特征在于,所述反爬虫代码包括前端部分,所述前端部分包括有用于检测爬虫的代码,S1包括:S11、在网站的第一前端页面中嵌入第一页面;S12、将用于检测爬虫的代码配置到所述第一页面中。4.如权利要求3所述的检测反爬虫策略安全性的方法,其特征在于,所述反爬虫代码还包括后台部分,所述后台部分用于在客户端写入第一数据以及在第二前端页面拦截所述第一数据并统计拦截到的所述第一数据的总数;S1还包括:利用所述后台部分在所述客户端写入第一数据;S3包括:利用所述后台部分在第二前端页面拦截所述第一数据并统计拦截到的所述第一数据的总数;所述误伤率等于所述总数/所述第二前端页面的总访问人数。5.如权利要求4所述的检测反爬虫策略安全性的方法,其特征在于,S11还包括:设定在所述第一前端页面中嵌入所述第一页面的概率;所述误伤率等于所述总数/所述概率/所述第二前端页面的总访问人数。6.如权利要求4所述的检测反爬虫策略安全性的方法,其特征在于,所述后台部分还用于设定所述第一数据的有效时间,所述第一数据在超过所述有效时间时失效。7.如权利要求4所述的检测反爬虫策略安全性的方法,其特征在于,不同的反爬虫策略对应不同的第一数据。8.如权利要求1所述的检测反爬虫策略安全性的方法,其特征在于,所述方法还包括:S5、比较所述误伤率是否低于阈值,若是,则所述反爬虫策略安全;若否,则所述反爬虫策略不安全。9.一种检测反爬虫策略安全性的装置,其特征在于,所述装置包括:嵌入单元...

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

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

1