2012-01-15 80 views
0

我正在管理一些WordPress安裝,我厭倦了錯誤日誌中充斥着404錯誤,這些錯誤是由不斷檢查已知hackable/exploitable主題目錄中的style.css文件造成的,例如:.htaccess與部分不匹配的RedirectMatch?

www.example.com/wp-content/themes/thestation/style.css

www.example.com/wp-content/themes/wootube/style.css

www.example.com /wp-content/themes/vibrantcms/style.css

有很多不同的主題,糟糕的機器人搜索,而不是單獨爲每個人編寫規則,只要它不在我正在使用的實際主題的目錄中,就有一個匹配style.css的每個實例的redirectmatch會更有意義。

例如,如果我在目錄/ twentyten /中使用主題,那麼RedirectMatch應該捕獲每一次嘗試訪問除/ twentyten /目錄以外的任何目錄中的任何style.css文件的任何嘗試。

回答

4

AFAIK,你不能RedirectMatch做到這一點,但如果你要啓用mod_rewrite的,那麼你想這樣做如下:

<Directory .../wp-content/themes/> 
    RewriteCond $1 !=twentyten 
    RewriteRule ^(.*?)/style.css badBotProbe/style.css [L] 
    ... 
</Directory> 

(或其他一些標誌,如[R = 403])。問題在於你做了什麼,日誌記錄了這些隨機樣式的請求參數,所以你仍然需要做一個智能過濾器。

您可以通過此規則將查詢重定向到探測器改爲移除錯誤日誌這些探頭:

RewriteRule ^(.*?)/style.css http://{%REMOTE_ADDR}/tryyourself.css [R=301] 

,但是這真的是你想要做的只是刪除404項是什麼?

PS。上面假設你有權訪問根配置。有相同的解決方案,在適當的情況下工作.htaccess

+1

有趣,但301%到%REMOTE_ADDR(在我的測試中不起作用,但可以使用dinslayland或example.com)仍然會登錄access.log。不在error.log中是正確的。 – regilero 2012-01-15 21:42:51

+1

是的,這是正確的:訪問日誌記錄所有訪問,錯誤日誌記錄不好的東西。恕我直言,你應該記錄*所有*不好的東西到錯誤日誌。我認爲,這裏涉及的真正問題是***審計減少*** - 那種可怕的對比度是什麼?已知的未知數與未知的未知數:你想記錄所有不好的東西,但你真的需要知道新的探測器你可能會失蹤。在這方面,我發現訪問日誌中的審計減少通常會更有趣:哪些魚腥URI正在處理爲200s? – TerryE 2012-01-15 23:54:15

0

AFAIK在Apache中沒有辦法做到這一點。

你能設置你自己的404頁嗎?

您可以在那裏進行重定向。