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

Php 我可以禁止或限制基于IP的国家吗?,php,.htaccess,mod-rewrite,spam-prevention,Php,.htaccess,Mod Rewrite,Spam Prevention,我从非洲的尼日利亚和加纳等地得到6-10份注册。我目前正在捕获IP,因此是否可以限制特定国家/地区的IP范围 如果我可以检索它们,那么将此范围添加到.htaccess文件或在站点级别限制它们是否更有意义?是的,您可以。使用GEOIP 只需google for GEOIP-有许多免费服务,您还可以获得一个文件,其中包含特定国家的IP模式。没有任何服务可以为您提供100%的保护,因为伪造IP是可能的。您可以获得maxmind数据库: 并使用此代码: GeoIPEnable On GeoIPDBFi

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

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

是的,您可以。使用GEOIP


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

您可以获得maxmind数据库:

并使用此代码:

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]

使用Apache的mod_geoip:

GeoIPEnable On GeoIPDBFile /path/to/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE US BlockCountry # ... place more countries here Deny from env=BlockCountry 地理位置 GeoIPDBFile/path/to/GeoIP.dat SetEnvIf GEOIP_COUNTRY_代码美国区块国家 # ... 把更多的国家放在这里 拒绝来自env=BlockCountry 谢谢,我也刚刚发现:有人用过这个而且运气好吗?看起来是免费的。