2013-02-20 28 views
0

我們突然被我們告訴的是DDOS攻擊的受害者。我們試圖使用一些.htaccess規則來阻止影響參數,使用以下內容來顯示對主頁上發出的任何帖子請求以及查詢字符串開頭的具有特定字段的任何請求的403禁止頁面:在WordPress .htaccess中使用額外的重寫規則來阻止DDOS攻擊

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(ptrxcz|xclzve).* [NC]

RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [F,L]

RewriteEngine On

RewriteCond %{REQUEST_METHOD} POST

RewriteCond %{REQUEST_URI} /

RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [F,L]

基本上每當我使用wget在SSH違規查詢字符串來訪問該文件,但不能在瀏覽器窗口中能正常工作。

此外,Postmaster Google Chrome瀏覽器添加功能可阻止向主頁發送的請求,但curl -d請求不會被阻止,因此我很難找到需要信任的工具,因爲它們會給出不同的結果(瀏覽器,SSH,Postmaster)。

我也使用WordPress的永久鏈接,我不知道這些是否影響這種以某種方式,因爲這些是在.htaccess文件中唯一的其他事情。一旦我將這些從.htaccess文件中刪除,我就會按預期工作。這是我現有的規則之後出現的Wordpress .htaccess。

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

另外,如果我改變我的預WordPress的規則,並刪除[F]和REMOTE_ADDR零件,取而代之的是以下可以將其重定向到URL不存在此正確的重定向,這意味着它可能與[F]和REMOTE_ADDR部分有關。

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(ptrxcz|xclzve).* [NC]

RewriteRule ^(.*)$ http://www.pleasegoawayandnevercomebackagain.com [R=301,L]

RewriteEngine On

RewriteCond %{REQUEST_METHOD} POST

RewriteCond %{REQUEST_URI} ^/$

RewriteRule ^(.*)$ http://www.pleasegoawayandnevercomebackagain.com [R=301,L]

除了上述和進一步調查。下面的規則不工作:

RewriteEngine On

RewriteCond %{QUERY_STRING} !.*test.* [NC]

RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [F]

這裏的區別是,我檢查查詢字符串值是負匹配。這意味着每個頁面都被禁止,除了那些在查詢字符串中進行測試的頁面。你有什麼想法,爲什麼一個負面的比賽的作品,但積極的搜索沒有?這是一個語法問題或與在htaccess重寫條件中搜索正值有關嗎?

回答

0

生活。如果你在代碼THE_REQUEST取代QUERY_STRING上面那麼這個作品很好,並且完全按照WordPress的要求進行。