【问题标题】:Is there any IP range for a certain country?某个国家/地区是否有任何 IP 范围?
【发布时间】:2017-05-04 00:54:16
【问题描述】:

我们从事的业务需要阻止来自某些地区或国家的访客。当访问者来自特定区域时,我们希望显示 403 错误页面。

现在我们可以做的是,在每次请求时,使用 Telize 或 ipapi.co 等任何第三方服务获取访问者 IP 地址并获取该 IP 的国家/地区名称,如果来自该国家/地区,则停止并显示错误页面。

但问题是,它会检查所有其他访问者,如果我们对每个请求都进行 curl,它肯定会减慢我们的网站速度。

有什么方法可以在不使用任何第三方服务或 curl 请求或任何不会减慢我们网站速度的情况下从 IP 地址获取国家/地区名称?

我们在 VPS 上使用 PHP 和 Symfony 3 框架,速度和性能对我们来说非常重要,以防它对您有所帮助。

此时我们要阻止来自喀麦隆的访问者,是否为喀麦隆分配了任何 IP 范围?

【问题讨论】:

    标签: ip


    【解决方案1】:

    您可以为https://www.ip2location.com/free/visitor-blocker 的喀麦隆 IP 范围生成 htaccess 拒绝文件,并在 htaccess 级别阻止它们,这样会更快。

    【讨论】:

      【解决方案2】:

      您可以使用Maxmind GeoIP library for php

      这个想法是您下载一个数据库(它只是一个文件),其中包含世界上所有 IP 的地理信息。由于数据库在您的服务器上,并且您使用库调用它,因此它不会减慢您的服务器速度。实际上,从 IP 获取国家代码的速度非常快,性能影响可以忽略不计。

      数据库会定期更新,因此您可以定期重新下载以保持最新状态。您可以获取有关可下载数据库的详细信息here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-04
        • 2015-04-06
        • 2012-02-18
        • 2011-11-01
        • 2012-12-13
        • 1970-01-01
        • 1970-01-01
        • 2018-12-04
        相关资源
        最近更新 更多