屏蔽百度的无奈之举

自去年开博以来,小站流量一直维持低位,自己也并不在意,因为起初多半是抱着玩一玩的心态而已。半年时间更新博客的速度还是可以的,进来由于工作较忙,就基本停止更新了。

然而24日忽然发现打开博客时报错,显示宽带流量超出限制,原以为是空间服务出现问题,交涉之后才清楚的确是超限了。我一个博客站点,一没有提供下载内容,二没有大的访问量,盗链情况也没发现,什么原因会造成超出每月15G的宽带流量限制?!

仔细看过访问日志之后,搞清楚了问题原因。主要有两个:一是百度蜘蛛来的过于频繁,日志显示,一天内百度爬虫竟然“造访”过上千次,均是”220.181.108″IP段;二是QQ旋风,博客跟其无任何往来,一块毙了。

百度收录固然好,建站初期我安装了针对百度搜索优化的插件,但一直以来,从百度过来的搜索内容寥寥,没想现在却造成如此大的流量,好吧,惹不起你就把你毙了吧!

这里记录下屏蔽百度蜘蛛的方法:在网站根目录下增加robot.txt文件,写入内容如下:

User-agent: baiduspider

Disallow: /

一个搜索引擎爬虫工作前首先应该访问/robots.txt制定排除列表,目前来讲,baiduspider还无法高级到故意忽略某些网站的robots.txt。

此外还可以通过修改.htaccess文件实现屏蔽。

在文件添加内容为:

SetEnvIfNoCase User-Agent “^baiduspider” ban_bot

deny from env=ban_bot

还可以扩大这个列表,屏蔽那些Email提取爬虫、网站克隆爬虫等(小偷一般不守法,但总比自己什么都不做强):

SetEnvIfNoCase User-Agent “^baiduspider” ban_bot

SetEnvIfNoCase User-Agent “^HTTrack” ban_bot

SetEnvIfNoCase User-Agent “^EmailCollector” ban_bot

SetEnvIfNoCase User-Agent “^EmailWolf” ban_bot

SetEnvIfNoCase User-Agent “^ExtractorPro” ban_bot

SetEnvIfNoCase User-Agent “^Offline” ban_bot

SetEnvIfNoCase User-Agent “^WebCopier” ban_bot

SetEnvIfNoCase User-Agent “^Webdupe” ban_bot

SetEnvIfNoCase User-Agent “^WebZIP” ban_bot

SetEnvIfNoCase User-Agent “^Web Downloader” ban_bot

SetEnvIfNoCase User-Agent “^WebAuto” ban_bot

SetEnvIfNoCase User-Agent “^WebCapture” ban_bot

SetEnvIfNoCase User-Agent “^WebMirror” ban_bot

SetEnvIfNoCase User-Agent “^WebStripper” ban_bot

deny from env=ban_bot

.htaccess要用文本方式上传,有些Apache配置比较怪异,防止引起冲突建议上传后立刻看看是否影响普通用户的访问。如果浏览正常,再用FlashGet模拟baiduspider测试这个.htaccess是否工作,方法是:

FlashGet->工具->选项->协议,把HTTP用户代理改成用户自定义:baiduspider;然后用FlashGet下载该网站任意页面,在FlashGet的下载日志里得到HTTP/1.1 403 Forbidden则成功.

5条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注