サーバーは 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 セットアップの 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