代码之家  ›  专栏  ›  技术社区  ›  MikeN

如何阻止所有非美国IP地址访问我的网站?

  •  5
  • MikeN  · 技术社区  · 15 年前

    我想阻止所有非美国用户访问我的网站。我在前端使用nginx,并且有一个由django驱动的网站。

    1)如何确定哪些是美国IP地址?

    2)我应该在我的Web服务器或应用程序层中阻塞它们吗?

    2 回复  |  直到 9 年前
        1
  •  4
  •   Devin Ceartas    15 年前

    我使用了mod ou geoip,发现它在很大程度上是有效的,但不是完全有效的。IP/国家/地区数据库的准确性是一个问题,保持该数据库最新也是一个问题。我还发现,虽然它有助于缓解来自世界各地与我们网站内容无关的评论垃圾邮件和ddos类型的查询,但它也有一些意想不到的后果。例如,有些人在海外度假时试图更新他们的网站列表,但被阻止了。 http://www.maxmind.com/app/mod_geoip

        2
  •  5
  •   Martin Beckett    15 年前

    你需要一个 GEO location 供应商。

    一些是免费的,一些是在线检查,一些给你一个列表或图书馆。
    一般来说,你想要的准确度越高,你付出的代价就越多。

    这样做的准确性是有限的。一些小国家的流量可能通过美国或它的名称服务器托管在美国。一般来说,你不应该为我们的客户得到太多的虚假否定。