2016-08-19 210 views
-5

我使用.htaccess来允许来自一个国家的流量。我使用的代码直接从ip2location.com生成。.htaccess不准确的原因是什么

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

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

这是怎么发生的?发电机不是最新的吗?我使用.htaccess错误吗?

这里是我使用(没有从ip2location.com产生允许完整的IP块)的的.htaccess的一个较短的版本:

<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> 
+0

如果你想得到这个答案,你不应该忽略你的.htaccess中最相关的位。 – YamiTenshi

回答

1

这是一个有点很难说考虑你要离开了您的.htaccess的确切部分可以让我们弄清楚发生了什么问题,但我的猜测是,您无法通过仅依靠IP进行过滤来做到您想要的。您最好的选择可能是在提出请求时通过IP地址检查用户的物理位置。有可能在您允许的区块内有一些IP不在英国境内。

这就是说,我甚至不知道你为什么要这样做。如果您只希望英国居民使用您的服务,那么有更好的方法来做到这一点 - 例如需要一个有效的英国地址的帐户。你的方式有一个缺点,即很容易绕过(只是使用代理服务器),并且当他们不在国外时完全拒绝有效的用户。