【发布时间】:2014-02-05 10:34:07
【问题描述】:
只有来自某个国家的用户才需要授予访问权限,我目前使用 PHP 执行此操作,我将国家的所有 IP 范围放在一个数组中,使用一个 check_cidr 函数来检查 IP 是否允许与否,我在 htaccess 中也有 Allow / Deny 的方法。
服务器上最快和优化的重量和更少的 CPU 负载是什么?有一些国家/地区所有 IP 范围的官方和更新列表吗?
【问题讨论】:
只有来自某个国家的用户才需要授予访问权限,我目前使用 PHP 执行此操作,我将国家的所有 IP 范围放在一个数组中,使用一个 check_cidr 函数来检查 IP 是否允许与否,我在 htaccess 中也有 Allow / Deny 的方法。
服务器上最快和优化的重量和更少的 CPU 负载是什么?有一些国家/地区所有 IP 范围的官方和更新列表吗?
【问题讨论】:
使用Allow 和Deny 可能更快,因为它不需要运行脚本。需要读取 htaccess 文件,但只要它没有改变,就不需要发生其他任何事情。如果将它们放在 server/vhost 配置中而不是 htaccess 文件中,它会运行得更快。
关于分配块,有几个地方可以google:
【讨论】:
如果您完全关心performance,我建议您使用 PHP 扩展 API。使用 PHP (C API) 扩展,您每秒可以获得超过 700 万次查询。
我在这里描述了如何编译扩展,以及如何使用 PHP 中的 mmdb 数据库通过 iso-3316 2 字符代码允许或限制国家/地区:
【讨论】: