仅允许美国用户访问网站

时间:2015-02-25 20:09:20

标签: apache .htaccess

什么是最好的.htaccess配置,只允许美国用户访问网站?

我似乎无法找到涵盖所有IPV4和IPV6用户的明确答案。

2 个答案:

答案 0 :(得分:6)

您必须安装mod_geoip

关于Debian:

apt-get install libapache2-mod-geoip

edit /etc/apache2/mods-available/geoip.conf
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>

/etc/init.d/apache2 reload

然后,您可以使用以下行限制访问除美国以外的访问者:

 SetEnvIf GEOIP_COUNTRY_CODE US AllowedCountry

 Deny from all
 Allow from env=AllowedCountry

答案 1 :(得分:1)

您没有说明限制的原因,但一般来说,无法在地理位置限制用户。考虑两个明显的反例,一个用户通过企业VPN连接浏览美国托管的代理服务器,或者一个美国移动电话用于在国外漫游时访问网络 - 甚至没有提到像Tor这样的匿名网络。

更糟糕的是,除非您明确禁止类似Google的搜索引擎访问,否则读者可以查看页面内容的缓存副本。

相关问题