apache利用.htaccess禁止恶意爬虫访问

爬虫是搜索引擎索引网站内容的手段。但是有些爬虫的爬取频率过快,或者业务方向不一致从而造成流量和网站资源的白白消耗。

我的博客遭遇了Sogou web spider和YisouSpider的恶意爬取。造成访问缓慢。

我首先在robots.txt中写了禁止他们的语句。然而YisouSpider 并不遵循robots.txt 完全不看这个文件。不遵守协议。

robots.txt内容如下:

User-agent:YisouSpider
Disallow:/
User-agent:Sogou web spider
Disallow:/

 

鉴于这两个爬虫这么流氓。我决定使用apache的.htacess文件来限制这两个爬虫。

在网站的根目录有个隐藏文件.htaccess 修改此文件 在</IfModule>上方行插入

SetEnvIfNoCase User-Agent “^Yisou|Sogou web spider” bad_bot
Deny from env=bad_bot

这时我们通过命令可以测试效果。

curl -I -A ‘YisouSpider’ stalvan.com

curl -I -A ‘Sogou web spider’ stalvan.com

这两个都返回了状态码403.而使用其他的UA进行访问时正常。

至此 我们成功的屏蔽了这两个流氓爬虫。