5

我想知道这些规则之间的区别以及使用文件 .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]

谢谢!

4

1 回答 1

0

在功能上,我认为它们大致相同,但有一些小的优点和缺点。但是前者可能更便携,因为如果您将来移动站点,您不必担心在服务器上安装 mod_rewrite。

自然,如果您有其他 mod_rewrite 规则,这不会对您产生太大影响。

您还在 mod_rewrite 规则中设置了通配符,但 SetEnvIfNoCase 中不存在该通配符。我知道在那里也可以这样做,这样做可能是明智的,因为你可以捕获不同的 libwww 版本。

我确定您知道 libwww-perl 可以发送任意用户代理字符串,因此两者都不会停止确定。

于 2011-10-27T09:16:22.970 回答