スパム ボット/クローラーが私の Web サイトに来て、Apache ログに次のように表示されるリクエストで問題が発生しています。
"GET / HTTP/1.1" 200 7128 "-" "\x09Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"
これらのリクエストの奇妙な違いは、何らかの理由でユーザー エージェントの前にタブ ( \x09
) があるため、これらの .htaccess mod_rewrite フィルターを作成しようとしたことです。
これまでのところ、これらの要求を拒否するのに適した RewriteCond を作成できませんでした。私は次のことを試しました:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^\x09Mozilla [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(%0A|%0D|%27|%3C|%3E|%00|%09).* [NC]
RewriteRule ^.* - [F,L]
(%09
タブ文字) は、2 番目の RewriteCond で最も重要な操作節です (その他はセキュリティを強化するために挿入されます)。
構文エラーはどこにありますか? これらのリクエストをブロックするにはどうすればよいですか?