我的wordpress博客被毫无意义的搜索请求轰炸。
禁用wordpress搜索域/?S=试验
搜索请求是韩文的吗?
翻译为:
所以要么是DDoS,要么是垃圾邮件。
有关的综合方案是:
主机66.249.64.24 24.64.249.66.in-addr.arpa域名指针爬行-66-249-64-24.googlebot.com。
主机66.249.64.26 26.64.249.66.in-addr.arpa域名指针爬行-66-249-64-26.googlebot.com。
iptables有问题,我不能通过IP阻止请求。
请求如下所示:
domain.com/?s=StrangeKoreanSearchPattern
在.htaccess中,我需要什么regex才能保护所有搜索密码?
# 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>
谢谢!
发布于 2019-03-04 00:12:08
经过少量的研究和测试,我想说,下面的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文件中的有效用户。
发布于 2019-03-04 01:35:12
谢谢你的回答,.htaccess和regex是两个一体的野兽。
修改了你的答案,现在看来效果很好。#谢谢!
<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>
https://serverfault.com/questions/956570
复制相似问题