是什么原因.htaccess不准确

时间:2016-08-19 12:14:21

标签: php apache .htaccess mod-rewrite

我正在使用.htaccess来允许来自一个国家/地区的流量。我正在使用的代码是直接从ip2location.com生成的。

但我仍然从我不允许的国家获得流量。

例如我一直用它来允许来自英国的流量,但我仍然看到来自比利时和其他欧洲国家的流量。

为什么会这样?发电机不是最新的吗?我使用.htaccess错了吗?

这是我正在使用的.htaccess的较短版本(没有从ip2location.com生成的完整允许的ips块):

<Limit GET HEAD POST>
order deny,allow
allow from 127.0.0.1/1
allow from 2.16.0.0/23
allow from 2.16.9.0/24
allow from 2.16.20.0/23
allow from 2.16.26.0/23
----------------------
allow from 67.14.63.53/32
deny from all
</Limit>

1 个答案:

答案 0 :(得分:1)

考虑到你并且遗漏了.htaccess的确切部分可能让我们弄清楚出了什么问题,这有点难以说明,但我的猜测是你&# 39;单靠IP过滤就无法做你想做的事。您最好的选择可能是在用户提出请求时通过其IP地址检查用户的物理位置。您允许的区域内有一些IP不在英国境内的可能性。

那就是说,我甚至不确定你为什么要这样做。如果您只希望英国居民使用您的服务,那么有更好的方法可以做到这一点 - 例如要求拥有有效英国地址的帐户。你的方式有一个容易被规避的缺点(只需使用代理),并且当他们离开这个国家时不允许完全有效的用户。