2008-12-04

彻底屏蔽SosoSpider的方法

Posted in 实验室, Apache, 网络安全, FreeBSD/Unix服务器 at 14:13 Author:仲远

标签:

昨天访问实验室的一个网站,突然发现打开速度巨慢,甚至无法打开!心里顿时大惊。Ping服务器的ip,一切正常;FTP连接,一切正常。于是赶紧通过远程桌面连接服务器,查看网站日志,才发现有一些124.115.4.*、124.115.0.*和58.60.14.*的ip在大量连接网站,网站的访问日志“唰唰唰”地“飞奔”,何其壮观!

SOSO搜搜

我立刻意识到是那个惹人厌的Sosospider爬虫(这些ip段为soso的爬虫,是从网上查询到的,未必确凿,但是其爬取方式与表明身份的Sosospider类似,以下假定这些爬虫是soso的)又来了,这个爬虫具有如下特点:

(1)每次几十个爬虫同时爬取网站,没有间隔,持续抓取。这点极为过分!Sosospider难道以为所有的主机都是架设在云计算平台上的啊?!根本不考虑一般主机的承受能力,多线程爬取,无节制爬取,占用大量带宽,损耗大量流量!这也是为什么Sosospider在网上遭受这么多指责的最主要原因。像网络蠕虫一样讨厌!

(2)在爬取日志中Referer不为空,并且与其Request-URI一致。例如,以下是一条典型的Sosospider的爬取日志:

121.14.96.153 - - [03/Dec/2008:14:20:11 +0800] “GET / HTTP/1.1″ 200 4256 “http://www.wangzhongyuan.com/” “Mozilla/4.0 (compatible; MSIE 6.0)”

     Sosospider与其它爬虫不同,它不会将Referer留空,而是会写上待爬取的URL,这样初看之下让人误以为是正常访问日志。

(3)不读取robots.txt。虽然在Soso网站的声明页中,说Sosospider会遵从Robots.txt的协议,但是实践证明,在User-Agent中标明了Sosospider的爬虫会定期(或许是几天)读取一次robots.txt,但是似乎这个会读取robots.txt的爬虫根本控制不了其他爬虫,尤其是那些在User-Agent字段里完全不标明Sosospider的爬虫。它们完全不理会robots.txt中禁止访问的页面,照爬取不误。

(4)在User-Agent字段中,大部分的soso爬虫都不标明自己的身份。通常就如第二点中所显示的一样,直接标明”Mozilla/4.0 (compatible; MSIE 6.0)”,这点也是极不道德的。似乎Sosospider有着分裂的“人格”。

那么,对付这样的爬虫,除了封杀,我们还能做什么呢?

如果你使用的是Apache来提供Web服务,那么可以在Order deny,allow中加入对于这些ip段的访问控制。我曾经在《Apache下进行Web页面访问权限控制》一文中做过详细介绍。以下是我在Apache上设置的访问控制代码,供大家参考:

<Directory “/XXX/XXX/XXX”>
  Options None
  AllowOverride ALL
  Order Deny,Allow
  Deny from 124.115.4. 124.115.0. 64.69.34.135 216.240.136.125 218.15.197.69 155.69.160.99 58.60.13. 121.14.96. 58.60.14. 58.61.164. 202.108.7.209
</Directory>

修改完httpd.conf之后,重启一下Apache服务器。发现打算速度巨快,终于恢复了正常的水平了,整个世界清静了~

如果有一天,Soso搜索引擎的技术工程师能够看到这篇文章,希望你们好好管管你们的Spider,不能只学习Google的爬取能力,更要学习Google对于爬虫的调度能力!

本文可以自由转载,转载时请保留全文并注明出处:
转载自仲子说 [ http://www.wangzhongyuan.com/ ]
原文链接:

3 Comments »

  1. peja said,

    2009年August18日 at 13:50

    请问你从Apache里屏蔽的IP是怎么找到的呢?

  2. 瑞典lelo said,

    2010年December30日 at 1:54

    以前还真不知道屏蔽方法

  3. 成都seo said,

    2011年October31日 at 10:32

    Sosospider的IP怎么知道呢,从日志里面分析得到?还是怎么滴!!!我没有建日志啊,太大了,影响网站运营!!看书网:Http://www.kanshu.com,求解答…

Leave a Comment

*
To prove you're a person (not a spam script), type the security text shown in the picture. Click here to regenerate some new text.
Click to hear an audio file of the anti-spam word