使用 .htaccess 阻止 UserAgent libwww-perl 不起作用?

使用 .htaccess 阻止 UserAgent libwww-perl 不起作用?

服务器在 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

相关内容