什么是最好的.htaccess配置,只允许美国用户访问网站?
我似乎无法找到涵盖所有IPV4和IPV6用户的明确答案。
答案 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的搜索引擎访问,否则读者可以查看页面内容的缓存副本。