0

单个用户在访问站点时可以在一段时间内显示为多个唯一用户。在内部,用户的 IP 地址是静态的,但在网络上,用户是由 ISP 路由器的 IP 地址代表的,不是吗?

4

2 回答 2

4

您不能保证用户的 IP 地址是唯一的。

公司可能在防火墙/代理后面运行,因此所有请求都来自该单个 IP。

可能您最好的选择是在用户浏览网站时将 cookie 放到用户浏览器中,然后在后续访问时检查该 cookie 的存在。

但是即使这样也不能保证你,因为没有什么可以阻止用户在浏览器中清除他们的 cookie,或者从 IE 访问一次,下次从 Firefox 访问。

简而言之,没有保证的方法......但是有一些方法可以做出很好的猜测

于 2009-05-12T16:13:13.310 回答
2

对于访问您网站的每个客户,为他分配一个唯一 ID 并将其存储在 cookie 中。然后在每次访问您的网站时检查该 cookie,如果它丢失则设置它。然后,您可以按唯一 ID 记录客户端使用情况。

通常,您从客户端看到的 IP 地址是客户端的 ISP 为他提供的 IP 地址。这些通常是动态的。代理和路由器后面的客户端将共享 IP 地址。无论哪种方式,为每个客户端分配一个唯一的 cookie 都可以避免这些问题。

它不适用于禁用 cookie 的客户端。您必须默认使用这些 IP 地址,并冒着数据不正确的风险。或者您可以不登录此类用户,在这种情况下您的数据将不完整。没有可靠的方法来唯一区分每个用户,因此您只需要选择哪种方法对您的网站最有意义。

于 2009-05-12T16:13:25.370 回答