2011-06-06 98 views
0

我有一个基于IP地址(唯一可用的方式)验证客户端的squid透明代理。具有多个IP地址的客户端 - 如何?

预期的设置是我的客户将签署,我的PHP页面登录的IP到MySQL,和Squid将验证基于IP数据库。

这种方法适用在一般情况下,但我注意到有一个问题,因为我一直在我的鱿鱼日志看到“拒绝访问”。

我认识一些客户端将使用IP的标志,但在同一时间不同的IP。 例如,一个客户端在Livezilla中有一个xxx.255.1.58的IP,但在我的Mysql数据库中有xxx.255.1.30。这发生在单个实例中(相隔不到2分钟)。

这怎么可能?我了解一些客户可能拥有动态IP,但这是解释吗?

编辑:我添加了一个用户的样本鱿鱼登录

在149秒,人用10个IP地址访问我的服务器,显然得到了否认...难道这可能是案件动态IP?我不相信动态IP经常这样改变。根据我的理解,只有在重置连接时,IP地址才会更改。

xxx.255.1.20 
xxx.255.1.62 
xxx.255.1.75 
xxx.255.1.86 
xxx.255.1.41 
xxx.255.1.48 
xxx.255.1.75 
xxx.255.1.32 
xxx.255.1.92 
xxx.255.1.65 

回答

2

任何企业用户很可能是坐在后面的几个代理,因此可能每个请求将出现从不同的源IP地址。

通常用于HTTPS请求代理系统配置为使用相同的源地址,但是对于普通HTTP它是一个免费提供给所有。

+0

谢谢史蒂夫,这样的设置在住宅上网用户中并不常见吗?我的目标受众主要是住宅用户而不是公司。 – Nick 2011-06-07 03:44:24

+0

@Nick目前还不是那么受欢迎,但预计它会因IPv4地址稀缺而迅速上升。它可能只是ISP级别的NAT,而不是代理,这也会影响HTTPS。某些网络上的iPad/iPhone用户可能处于类似的情况。 – 2011-06-07 13:11:37

0

客户端可能有多个IP有很多原因。这完全取决于他们如何访问互联网(他们的ISP)。

+0

HI,我的客户有149秒在10级不同的IP。是否有一个ISP设置可以在每个HTTP请求上放弃新的IP? – Nick 2011-06-06 22:51:30