0

我们的网站使用内部实现的长轮询 COMET 服务器与客户端计算机上的网页进行通信。Connection对象管理单个客户端的请求和响应。该Connection对象可以存活数小时并处理来自同一客户端的数百个请求,同时它们仍保持“连接”到服务器。

我的问题是:假设单个客户端在单个会话上的请求的原始地址将保持不变是否安全?我想制定规则来强制执行这一点,如果客户端来自新的 ipAddress,他们需要从头开始。我想知道是否存在一种常见情况,即来自单个浏览器的请求可能来自不同的 ipAddress,其速率会使我的计划变得愚蠢。

4

1 回答 1

0

我认为这将取决于相关网络以及您实际尝试检测的用户行为。

许多用户位于网络地址转换器 (NAT) 和/或网络代理之后,因此您无论如何都不会看到他们的“真实”或“本地”IP 地址,例如,如果您在典型的家庭宽带网络上,请查询您的本地 IP您机器上的地址(例如,如果您在 MAC 上使用 Windows 或网络实用程序,则使用 ipconfig)并将其与另一个网络中的服务器在您联系它时看到的 IP 地址进行比较(例如,使用http://whatismyipaddress 之类的站点。 com/)。Internet 中的服务器将看到与您在本地看到的地址不同的地址。

因此,您可能有一个用户属于大型网络,该网络仅在外部使用一个或两个 IP 地址与外部 Web 进行通信,并且该用户可能从一个本地网络连接“拔出”并“插入”另一个本地网络连接,得到一个新的本地 IP 地址,但它对您来说是不可见的,因为连接仍将通过大型网络外部 IP 地址进行。

于 2010-09-23T17:49:56.200 回答