关闭。这个问题是off-topic .它目前不接受答案。
想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。
9年前关闭。
Improve this question
我想知道这些规则之间的区别,以及使用文件 .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 可以发送任意用户代理字符串,因此两者都不会停止确定。
关于security - 阻止 libwww-perl 的 Apache 规则之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7516878/