我的网站受到来自IP地址的请求的轰炸。
[Sat Dec 14 22:03:14 2013] [错误] [客户XXX.XX.XX.XX]客户拒绝 通过服务器配置:/ home / user / public_html / folder / folder /, referer:http://XXX.XXX.XXX.XXX/
你看到推荐人不是像合法推荐那样的域名,而是来自IP,它会轰炸我的网站数千次。我已经阻止了IP地址和类似的地址:
RewriteCond %{HTTP_REFERER} XXX\.XXX\.XXX [NC]
RewriteRule .* - [F]
但是如何阻止来自IP地址的所有推荐人?就我的网站而言,绝大多数用户如果不是每个用户都会从域名访问我的网站,请参阅IP地址。只有具有恶意意图的访问者才能通过IP参考,因为我现在正在体验。
RewriteCond %{HTTP_REFERER} *\.*\.* [NC]
RewriteRule .* - [F]
我试过这个想它会起作用,但事实并非如此。我想也许这对于每组数字都是一张外卡。但它在日志中出现了大量错误......
答案 0 :(得分:1)
如果要匹配任何形成为ip地址的字符串,它将类似于
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1-3}\.[0-9]{1,3}
正则表达式为“1到3位,四次,以句点分隔”。显然你可以只测试三组数字,但这是一般的想法。 [0-9]
的简写是\d
“任何数字” - 由于前三个组相同(最多三个数字后跟句点),您可以通过对表达式进行分组来使表达式更紧凑。
这意味着你可能想尝试这个
RewriteCond %{HTTP_REFERER} (\d{1,3}\.){3}\d{1,3} [NC]
RewriteRule .* - [F]