【问题标题】:What is the best and quickest way to block / allow only ranges IPS by CIDR (lock / permission ranges IPs of a country)什么是通过 CIDR 阻止/仅允许范围 IPS 的最佳和最快的方法(一个国家/地区的锁定/许可范围 IP)
【发布时间】:2014-02-05 10:34:07
【问题描述】:

只有来自某个国家的用户才需要授予访问权限,我目前使用 PHP 执行此操作,我将国家的所有 IP 范围放在一个数组中,使用一个 check_cidr 函数来检查 IP 是否允许与否,我在 htaccess 中也有 Allow / Deny 的方法。

服务器上最快和优化的重量和更少的 CPU 负载是什么?有一些国家/地区所有 IP 范围的官方和更新列表吗?

【问题讨论】:

    标签: php .htaccess ip cidr


    【解决方案1】:

    使用AllowDeny 可能更快,因为它不需要运行脚本。需要读取 htaccess 文件,但只要它没有改变,就不需要发生其他任何事情。如果将它们放在 server/vhost 配置中而不是 htaccess 文件中,它会运行得更快。

    关于分配块,有几个地方可以google:

    【讨论】:

      【解决方案2】:

      如果您完全关心performance,我建议您使用 PHP 扩展 API。使用 PHP (C API) 扩展,您每秒可以获得超过 700 万次查询。

      我在这里描述了如何编译扩展,以及如何使用 PHP 中的 mmdb 数据库通过 iso-3316 2 字符代码允许或限制国家/地区:

      Intro to Maxmind GeoLite2 with Kohana PHP

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-13
        • 2015-11-23
        • 2012-02-18
        • 1970-01-01
        • 2019-01-23
        • 1970-01-01
        • 1970-01-01
        • 2015-04-21
        相关资源
        最近更新 更多