サーバーは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を与えます
何か案は?
敬具
以下のブロックを試してください。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