我只有在来自某个国家/地区时才需要授予用户访问权限,我目前使用PHP执行此操作,我将国家/地区的所有IP范围放入数组中,使用一个check_cidr函数检查IP是否为允许与否,我也有htaccess允许/拒绝的方法。
什么是最快和优化的重量和减少服务器上的CPU负载的方式?有一些国家的所有IP范围的官方和更新列表?
答案 0 :(得分:2)
使用Allow
和Deny
可能更快,因为它不需要运行脚本。需要读取htaccess文件,但只要它没有改变,就不需要其他任何东西了。如果将它们放在server / vhost配置而不是htaccess文件中,它的工作速度会更快。
至于分配区块,有几个地方可以谷歌:
答案 1 :(得分:1)
如果您对performance感到担忧,我建议您使用PHP Extension API。使用PHP(C API)扩展,您每秒可以获得超过700万次查询。
我将介绍如何编译扩展,以及如何使用PHP中的mmdb数据库在这里使用iso-3316双字符代码来允许或限制国家/地区:
Intro to Maxmind GeoLite2 with Kohana PHP