阻断的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可以发送任意的用户代理字符串,所以也不会停止这个确定的。