Linux
htaccess 禁用 wordpress 搜尋域 / ?s = 測試
我的 wordpress 部落格被毫無意義的搜尋請求轟炸了。
htaccess 禁用 wordpress 搜尋域 / ?s = 測試
搜尋請求是韓文的?
翻譯為:
所以無論是 DDoS 還是垃圾郵件。
有問題的IP是:
主機 66.249.64.24 24.64.249.66.in-addr.arpa 域名指針 crawl-66-249-64-24.googlebot.com。
主機 66.249.64.26 26.64.249.66.in-addr.arpa 域名指針 crawl-66-249-64-26.googlebot.com。
iptables 出了點問題,我無法阻止通過 IP 的請求。
請求如下所示:
domain.com/?s=StrangeKoreanSearchPattern
我需要在 .htaccess 中使用什麼正則表達式來保護所有搜尋的密碼?
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress <FilesMatch "wp-login.php"> AuthName "WordPress Admin" AuthType Basic AuthUserFile /home/admin/web/.htpasswd require valid-user </FilesMatch> # DOES NOT WORK :-| <FilesMatch "index\.php\?s=.*"> AuthName "WordPress Admin" AuthType Basic AuthUserFile /home/admin/web/.htpasswd require valid-user </FilesMatch>
謝謝!
經過一些研究和測試後,我會說以下 htaccess 條目應該可以工作:
<If "%{QUERY_STRING} =~ /.?s=/"> AuthName "WordPress Admin" AuthType Basic AuthUserFile /home/admin/web/.htpasswd require valid-user </If>
資料來源:https ://stackoverflow.com/questions/31903448/htaccess-deny-specific-get-parameter
澄清這是做什麼的:如果查詢字元串(在“domain.com/”之後以“?”開頭的字元串)包含“?s=”,則需要 .htpasswd 文件中的有效使用者。
感謝您的回答,.htaccess 和正則表達式是合二為一的野獸。
修改了您的答案,現在似乎可以正常工作。#謝謝!
<If "%{QUERY_STRING} =~ /^.?s=/"> AuthName "WordPress Admin" AuthType Basic AuthUserFile /home/admin/web/.htpasswd require valid-user </If> <If "%{QUERY_STRING} =~ /^.?search=/"> AuthName "WordPress Admin" AuthType Basic AuthUserFile /home/admin/web/.htpasswd require valid-user </If>