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

Posted

技术标签:

【中文标题】我可以根据 IP 禁止或限制一个国家/地区吗?【英文标题】:Can I ban or restrict a country based on IP? 【发布时间】:2012-01-06 11:08:34 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

使用 Apache 的 mod_geoip:

GeoIP启用 GeoIPDBFile /path/to/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE US BlockCountry # ... 在此处放置更多国家/地区 拒绝来自 env=BlockCountry

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

是的,你可以。使用 GEOIP。 http://www.maxmind.com/app/php

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

【讨论】:

谢谢,我也刚刚发现:countryipblocks.net 有没有人用过这个并且运气好?看起来是免费的。

以上是关于我可以根据 IP 禁止或限制一个国家/地区吗?的主要内容,如果未能解决你的问题,请参考以下文章

限制访问特定国家/地区的 PHP 网站

IP地址国家/地区查找服务[关闭]

我可以按城镇限制谷歌地理编码器结果吗?

WooCommerce Paypal - 不允许基于 PayPal 帐单地址的付款(国家/地区限制)

IOS 限制对某些国家或 WLAN 的应用程序的访问

Rails Geocoder 限制地区/国家