1

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

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

4

2 回答 2

2

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

至于分配块,你可以google几个地方:

于 2014-01-16T14:34:51.073 回答
1

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

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

使用 Kohana PHP 介绍 Maxmind GeoLite2

地理定位 IP 地址

于 2014-03-10T22:03:31.080 回答