服务器在 Apache 上运行,并尝试阻止 libwww-perl,但不确定为什么它不起作用。我已将以下内容放入 .htaccess 中,但当我运行测试时,我仍然收到 libwww-perl 仍未被阻止的通知。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* – [F,L]
我在这里查看了帖子如何创建 .htaccess 并阻止 UserAgent libwww-perl?
但看起来他们正在运行 IIS7,所以我认为那里的答案不适用。
我尝试添加:
SetEnvIfNoCase User-Agent "^Wget" bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
SetEnvIfNoCase User-Agent "^libwww-perl" bad_bot
<Location />
Order allow,deny
Allow from all
Deny from env=bad_bot
</Location>
这是另一篇文章中建议的http://community.spiceworks.com/how_to/1443-how-to-block-libwww-perl,但这给了我一个内部服务器错误 500
有任何想法吗?
亲切的问候
答案1
尝试下面的块,我刚刚在我的一个 Apache 设置上亲自测试了它,并且它运行良好。
<IfModule mod_rewrite.c>
RewriteEngine on
SetEnvIfNoCase User-Agent ^libwww-perl bad_bot
Order Allow,Deny
Allow from ALL
Deny from env=bad_bot