阻断的libwww-perl的
问题描述:
我想知道这些规则之间的差异,这是最有效的阻断的libwww-perl的与文件的.htaccess阻断的libwww-perl的
SetEnvIfNoCase User-Agent "libwww-perl" bad_bot
Order Deny,Allow
Deny from env=bad_bot
或
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* – [F,L]
谢谢!
答
从功能上来说,我认为他们是一样的,有一些小的优点和缺点。然而,前者可能更具可移植性,因为如果将来在某些时候移动站点,则不必担心服务器上将安装mod_rewrite。
当然,如果你有其他的mod_rewrite规则,这对你来说不会有太大的改变。
您还在mod_rewrite规则中设置了通配符,该通配符在SetEnvIfNoCase中不存在。我知道这也可以在那里做到,这可能是明智的做法,因为你可以抓住不同的libwww版本。
我确定你知道libwww-perl可以发送任意的用户代理字符串,所以也不会停止这个确定的。