网络爬虫的检测方法及装置的制造方法

文档序号:8285269阅读:388来源:国知局
网络爬虫的检测方法及装置的制造方法
【技术领域】
[0001]本公开涉及互联网技术领域,尤其涉及一种网络爬虫的检测方法及装置。
【背景技术】
[0002]现在对于网站的恶意访问越来越严重,在极端的环境下,恶意爬虫已经对web站点的正常访问构成了威胁,甚至能够达到恶意攻击的程度。相关技术通过设置黑名单方法来限制恶意IP地址对网页进行访问,在该种方式中,通常服务器的运维人员收到监控报警后或者是手动分析日志后,发现一些恶意IP地址的访问量特别高,通过手动方式在将这些恶意的IP地址添加到黑名单中,致使服务器的运维成本较高。

【发明内容】

[0003]为克服相关技术中存在的问题,本公开实施例提供一种网络爬虫的检测方法及装置,用以节约服务器的运维成本。
[0004]根据本公开实施例的第一方面,提供一种网络爬虫的检测方法,应用在服务器上,包括:
[0005]在接收到来自客户端的访问请求时,确定是否接收到需要执行预设的标识文件的请求;
[0006]如果确定未接收到需要执行所述标识文件的请求,向所述客户端返回验证页面;
[0007]如果所述客户端在所述验证页面未通过验证,确定所述访问请求被监控的爬虫请求,将所述客户端的ip地址添加到第一黑名单中。
[0008]在一实施例中,所述预设的标识文件嵌入在所述网页请求需要执行的脚本文件中。
[0009]在一实施例中,所述方法还可包括:
[0010]如果确定未接收到需要执行所述标识文件的请求,将所述客户端对应的ip地址添加到第二黑名单中;
[0011]每隔第一预设周期对所述第二黑名单中的ip地址进行清理。
[0012]在一实施例中,所述方法还可包括:
[0013]如果所述客户端在所述验证页面通过验证,将所述客户端的ip地址从所述第二黑名单中删除。
[0014]在一实施例中,所述方法还可包括:
[0015]每隔第二预设周期统计所述第一黑名单中的每一个ip地址在所述第一黑名单中的存储时长;
[0016]从所述第一黑名单中删除存储时长超过预设时长的ip地址。
[0017]在一实施例中,所述统计所述第一黑名单中的每一个ip地址在所述第一黑名单中的存储时长,可包括:
[0018]为所述第一黑名单中的每一个ip地址分配一个计时器;
[0019]在所述每一个ip地址被添加到所述第一黑名单时开始通过各自对应的计时器统计所述每一个ip地址的存储时长。
[0020]根据本公开实施例的第二方面,提供一种网络爬虫的检测装置,应用在服务器上,包括:
[0021]第一确定模块,被配置为在接收到来自客户端的访问请求时,确定是否接收到需要执行预设的标识文件的请求;
[0022]发送模块,被配置为如果所述第一确定模块确定未接收到需要执行所述标识文件的请求,向所述客户端返回验证页面;
[0023]第二确定模块,被配置为如果所述客户端在所述发送模块发送的所述验证页面未通过验证,确定所述访问请求被监控的爬虫请求,将所述客户端的ip地址添加到第一黑名单中。
[0024]在一实施例中,所述预设的标识文件可嵌入在所述网页请求需要执行的脚本文件中。
[0025]在一实施例中,所述装置还可包括:
[0026]添加模块,被配置为如果所述第一确定模块确定未接收到需要执行所述标识文件的请求,将所述客户端对应的ip地址添加到第二黑名单中;
[0027]清理模块,被配置为每隔第一预设周期对所述第二黑名单中的ip地址进行清理。
[0028]在一实施例中,所述装置还可包括:
[0029]第一删除模块,被配置为如果所述客户端在所述发送模块发送的所述验证页面通过验证,将所述客户端的ip地址从所述第二黑名单中删除。
[0030]在一实施例中,所述装置还可包括:
[0031]统计模块,被配置为每隔第二预设周期统计所述第一黑名单中由所述第二确定模块确定的每一个ip地址在所述第一黑名单中的存储时长;
[0032]第二删除模块,被配置为从所述第一黑名单中删除所述统计模块统计的所述存储时长超过预设时长的ip地址。
[0033]在一实施例中,所述统计模块可包括:
[0034]分配子模块,被配置为为所述第一黑名单中的每一个ip地址分配一个计时器;
[0035]统计子模块,被配置为在所述每一个ip地址被添加到所述第一黑名单时开始通过所述分配子模块为所述每一个ip地址分配的各自对应的计时器统计所述每一个ip地址的存储时长。
[0036]根据本公开实施例的第三方面,提供一种网络爬虫的检测装置,包括:
[0037]处理器;
[0038]用于存储处理器可执行指令的存储器;
[0039]其中,所述处理器被配置为:
[0040]在接收到来自客户端的访问请求时,确定是否接收到需要执行预设的标识文件的请求;
[0041]如果确定未接收到需要执行所述标识文件的请求,向所述客户端返回验证页面;
[0042]如果所述客户端在所述验证页面未通过验证,确定所述访问请求被监控的爬虫请求,将所述客户端的ip地址添加到第一黑名单中。
[0043]本公开的实施例提供的技术方案可以包括以下有益效果:在接收到来自客户端的访问请求时通过标识文件对访问请求进行区分,向未请求标识文件的访问请求对应的客户端返回验证页面,如果在验证页面仍未通过验证,确定访问请求为被监控的爬虫请求,从而可以通过被监控的爬虫请求准实时地发现爬虫行为,避免通过手动方式将被监控的网络爬虫添加到第一黑名单中,降低了服务器的运维成本,并且还能减少恶意访问对服务器资源的占用,进而可以给用户带来更好的服务。
[0044]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0045]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0046]图1是根据一示例性实施例示出的网络爬虫的检测方法的流程图。
[0047]图2是根据一示例性实施例一示出的网络爬虫的检测方法的流程图。
[0048]图3A是根据一示例性实施例二示出的对第一黑名单进行更新的流程图。
[0049]图3B是根据一示例性实施例二示出的步骤S301的流程图。
[0050]图4是根据一示例性实施例示出的一种网络爬虫的检测装置的框图。
[0051]图5是根据一示例性实施例示出的另一种网络爬虫的检测装置的框图。
[0052]图6是根据一示例性实施例示出的一种适用于网络爬虫的检测装置的框图。
【具体实施方式】
[0053]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0054]图1是根据一示例性实施例示出的网络爬虫的检测方法的流程图,该网络爬虫的检测方法可以应用在服务器,如图1所示,该网络爬虫的检测方法包括以下步骤S101-S103:
[0055]在步骤SlOl中,在接收到来自客户端的访问请求时,确定是否接收到需要执行预设的标识文件的请求。
[0056]在一实施例中,客户端可以为正常用户所使用的浏览器,也可以为正常爬虫;在一实施例中,爬虫请求为类似httpClient的机制或curl、wget的命令,而普通的访问请求通过客户端的浏览器发送,因此爬虫请求主要关注网页上的页面内容,一般不会执行网页页面里的异步JavaScript (js)操作,也不会去关心css脚本,在一实施例中,本公开可以通过在css脚本或者js中嵌入预设的标识文件,该标识文件例如为一张图片,该张图片可以是无意义的并且体积非常小(例如,1*1像素大小)的图片,并且html中不显示该标识图片;在另一实施例中,还可以在css脚本或者js脚本中嵌入预设的标识代码。
[0057]在一实施例中,正常的访问请求会同时请求css脚本,并执行css脚本进而会加载嵌入的“标识图片”,而爬虫请求则不会向服务器请求加载该“标识图片”。在另一实施例中,正常的访问请求会同时请求js脚本,并执行js脚本进而会执行嵌入的“标识代码”,而爬虫请求则不会向服务器请求加载该“标识代码”。
[0058]在步骤S10
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1