web-dev-qa-db-ja.com

.htaccessでUserAgentlibwww-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
Luke7625762353

以下のブロックを試してください。Apacheセットアップの1つで自分でテストしたところ、正常に機能しました。

<IfModule mod_rewrite.c>   
RewriteEngine on

SetEnvIfNoCase User-Agent ^libwww-Perl bad_bot

Order Allow,Deny  
Allow from ALL   
Deny from env=bad_bot
2