我正在管理一个网站,该网站是用Wordpress构建的。它从机器人获得了大量的流量,我们希望阻止所有这些流量,除了像谷歌雅虎Bing百度这样的重要机器人。我们使用cloudflare,我想从两层阻止它们,Cloudflare防火墙和htaccess文件。在htaccess文件中,我知道如何阻止单个IP地址和最后一个IP范围的尾随IP,如123.123.123.0/16
但是,我需要阻止以下IP 69.30.192.0 - 69.30.255.255 93.55.115.64 - 93.55.115.71
如何在htaccess文件中设置此规则? Cloudflare似乎遵循同样的规则。
答案 0 :(得分:3)
你几乎得到了它。 / 16表示法实际上称为CIDR Notation。
该数字表示从左到右匹配的位数。 Wiki页面对此进行了深入解释。
或者......你可以接受我的话,并使用我发现的这样一个工具:http://www.ipaddressguide.com/cidr#range
然后您可以在.htaccess中使用deny from,就像使用给定值的单个ip一样:
Order Allow,Deny
Deny from 69.30.192.0/18
Deny from 93.55.115.64/29
Allow from all
答案 1 :(得分:2)
不确定信号源有多可靠,但这是来自clockwatchers
http://www.clockwatchers.com/htaccess_block.html
阻止单个IP地址
order allow,deny
deny from 127.0.0.1
allow from all
这将拒绝IP地址127.0.0.1发出的所有GET和POST请求,而是显示错误消息
要阻止多个IP地址,请每行列出一个
order allow,deny
deny from 127.0.0.1
deny from 127.0.0.2
deny from 127.0.0.3
allow from all
阻止整个ip范围
deny from 127.0.0
这将拒绝任何地址在127.0.0.0到127.0.0.255范围内的用户访问。
编辑:刚刚在这里找到了类似的问题
How to Block an IP address range using the .htaccess file
看起来答案也很相似。
答案 2 :(得分:1)
@Nick的答案很好,所以在配置.htaccess时你应该按照自己的方式行事。
我的回答是关于您的问题中检测到的另一个问题:您愿意阻止IP范围69.30.192.0 - 69.30.255.255,但快速搜索ARIN数据库(WHOIS的IP地址)显示此范围是不属于一个人。
事实上,通过这样做,您可能会将您的网站拒绝为非机器人。
例如:
69.30.192.0 - 69.30.192.31属于LEAKY ****。COM
...
69.30.193.0 - 69.30.193.15属于TA *****,Abdelkader
等