我可以根据 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 禁止或限制一个国家/地区吗?的主要内容,如果未能解决你的问题,请参考以下文章