我可以禁止或限制基于IP的国家吗?

时间:2011-11-25 15:40:59

标签: php .htaccess mod-rewrite spam-prevention

我从非洲的尼日利亚和加纳等地获得了6-10次注册。我目前正在捕获IP,因此是否可以限制来自特定国家/地区的IP范围?

如果我可以对它们进行限制,那么将此范围添加到我的.htaccess文件或在网站级别限制它们会更有意义吗?

4 个答案:

答案 0 :(得分:23)

您可以获取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]

答案 1 :(得分:5)

答案 2 :(得分:0)

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

答案 3 :(得分:0)

使用Apache的mod_geoip:

GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat

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

Deny from env=BlockCountry