【问题标题】:How to block users based on country using .htaccess and GeoIP?如何使用 .htaccess 和 GeoIP 根据国家/地区阻止用户?
【发布时间】:2015-02-17 17:12:31
【问题描述】:

对于我们这些使用共享主机来阻止来自特定国家的用户访问的人来说,有没有一种简单的方法?我知道我可以阻止特定 IP(包括一长串国家/地区 IP),但我宁愿使用 GeoIP (http://freegeoip.net) 之类的东西;但我不确定如何将其实现到 .htaccess 文件中?

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

【问题讨论】:

  • GeoIP 模块需要由您的主机加载和安装。你确定他们已经安装了吗?如果没有,您将无法使用它。

标签: .htaccess redirect geoip country


【解决方案1】:

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,然后在您的.htaccess 文件中使用Deny,无论您需要什么

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多