之前是有研究过如何用robots来限制百度对网站的爬行.显然这个是很被动的.而且也麻烦.要定义每个网站的robots.txt.虽然说通过iptables过滤掉百度的ip也可以防止百度的爬行,不过显然,百度有可能会使用不同的IP来执行爬行.实际上,我们还可以通过apache来进一步限制百度的爬行.
SetEnvIfNoCase user-agent "^baidu" bad_bot=1
<FilesMatch "(.*)">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</FilesMatch>
注:SetEnvIfNoCase需要apache有编译
mod_setenvif模块
参考:http://www.simplemachines.org/community/index.php?topic=350439.0