2016-02-26 85 views
7

我正在管理一個網站,並且該網站是在Wordpress中構建的。它從機器人獲得大量的流量,我們想要阻止所有這些,除了Google Yahoo Bing百度等重要機器人。我們使用cloudflare,我想從兩層,Cloudflare防火牆和htaccess文件中阻止它們。在htaccess文件,我知道如何阻止一個單一的IP地址和持續的IP範圍的IP地址尾隨像123.123.123.0/16在htaccess文件中阻止IP範圍

不過,我需要阻止以下IP地址 69.30.192.0 - 69.30.255.255 93.55。 115.64 - 93.55.115.71

如何在htaccess文件中設置此規則? Cloudflare似乎遵循相同的規則。

+0

小心! [Cloudflare充當反向代理,因此所有連接似乎都來自Cloudflare IP(就服務器而言)](https://support.cloudflare.com/hc/en-us/articles/200170706-如何-DO-I-恢復原裝-訪問者IP與 - Nginx-)。另外,如果您在Cloudflare防火牆級別進行篩選,並且您的DNS設置正確,則無論如何,您都不應該看到來自這些機器人的直接流量。 –

回答

2

不知道來源有多可靠,但是這是從clockwatchers

http://www.clockwatchers.com/htaccess_block.html

要阻止一個IP地址

order allow,deny 
deny from 127.0.0.1 
allow from all 

這將拒絕所有GET和POST請求作出通過IP地址127.0.0.1,顯示錯誤消息而不是

要阻止多個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

看起來出來的答案都差不多了。

3

你已經差不多了。/16表示法實際上被稱爲CIDR Notation

該數字表示要從左到右匹配多少位。 Wiki頁面對其進行了深入解釋。

或者......你可以把我的話,用這樣的一個我發現了一個工具:http://www.ipaddressguide.com/cidr#range

然後,您可以使用在你的.htaccess的否認就像你會爲一個單一的IP與給定的值:

Order Allow,Deny 
Deny from 69.30.192.0/18 
Deny from 93.55.115.64/29 
Allow from all 
1

@Nick的答案是好的,所以在配置.htaccess方面你應該走他的路。

我的回答是有關在您的問題中檢測到的另一個問題:您願意阻止IP範圍69.30.192.0 - 69.30.255.255,但快速搜索ARIN數據庫(WHOIS IP地址)顯示此範圍不屬於一個人。

事實上,通過這樣做,您可能會拒絕您的網站爲非漫遊器。

如:

69.30.192.0 - 69.30.192.31屬於漏**** COM

...

69.30.193.0 - 69.30.193.15屬於TA *** **,Abdelkader