我可以根据IP禁止或限制一个国家吗?

问题描述:

我从非洲尼日利亚和加纳等地获得6-10个签名。我目前正在捕获IP,因此是否可以限制来自特定国家的一系列IP?我可以根据IP禁止或限制一个国家吗?

如果我可以限制它们,将这个范围添加到我的.htaccess文件或将它们限制在站点级别会更有意义吗?

+15

禁止Africe?你种族主义! **:D ** – Christian

+6

什么是Africe? – eric

你可以得到的MaxMind数据库:

http://www.maxmind.com/app/mod_geoip

,并使用此代码:

GeoIPEnable On 
GeoIPDBFile /path/to/GeoIP.dat 

# Redirect multiple countries to a single page 
RewriteEngine on 
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(NI|GH)$ 
RewriteRule ^(.*)$ - [F] 
+6

+1不使用php ... apache版本更快 –

+0

谢谢,我也刚刚发现:http://www.countryipblocks.net有没有人用过这个,有幸?看起来它是免费的。 – Paul

只是谷歌GEOIP - 有许多可用的,你还可以得到一个文件的免费服务,包含国家特定的IP模式。没有任何服务可以为您提供100%的保护,因为它可以伪造IP。

使用Apache的mod_geoip:

 
GeoIPEnable On 
GeoIPDBFile /path/to/GeoIP.dat 

SetEnvIf GEOIP_COUNTRY_CODE US BlockCountry 
# ... place more countries here 

Deny from env=BlockCountry