我有一個垃圾郵件機器人/爬蟲來我的網站,顯示了像這樣在Apache日誌請求的問題:阿帕奇mod_rewrite的HTTP_USER_AGENT有特殊字符發出
"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
(製表符)是在第二的RewriteCond最重要的執行條款(扔在提高安全性,其他)。
我的語法錯誤在哪裏?我怎樣才能阻止這些請求?
這不是有效的停止要求。即使按照您的建議更改了.htaccess,我仍然可以在Apache日誌中看到滿足「HTTP 200」的請求 – user1111380