如何使用.htaccess和GeoIP阻止基于国家/地区的用户?

时间:2015-02-17 17:12:31

标签: .htaccess redirect geoip country

对于我们这些使用共享托管阻止来自特定国家/地区的用户的人,有一种简单的方法吗?我知道我可以阻止特定的IP(包括国家IP的长列表),但我更喜欢使用像GeoIP(http://freegeoip.net)这样的东西;但我不确定如何将其实现到.htaccess文件中?

我理解这可能是一个相当基本的问题,感谢阅读。

1 个答案:

答案 0 :(得分:0)

MaxMind提供Apache httpd 2.2+模块来查找他们的GeoLite2数据库。

https://github.com/maxmind/mod_maxminddb

他们还提供了按国家/地区阻止的配置示例

MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code

SetEnvIf MM_COUNTRY_CODE ^(RU|DE|FR) BlockCountry
Deny from env=BlockCountry

您可以在主要配置中使用SetEnvIf,然后在Deny文件中使用.htaccess,无论您需要