我注意到,当客户端通过代理服务器发出 http 请求时,请求的 IP 地址始终是代理的 IP 地址。因此,如果来自具有代理服务器的大公司的许多客户访问网站,我无法判断这些请求是否来自独特的客户。如果http请求是通过代理,有什么方法可以确定客户端的唯一性?我知道mac地址不包含在http请求中,所以我几乎排除了这一点。
Barneytron
问问题
150 次
2 回答
5
最简单的方法是在响应中设置一个 cookie,并在请求中检查它。如果它在那里,那么您之前已经看过该客户端(并且您可以在 cookie 中包含一些标识)。当然,这依赖于客户端感知 cookie 并且用户没有禁用 cookie(或手动清除它们)。
还有一些客户端的问题,它们可能知道 cookie,但每次都会有效地从头开始 - 例如,如果有人运行程序来抓取您的网站,它可能每次都会从一个新的 cookie jar 开始,不管你如何设置cookie。
于 2009-01-03T20:01:01.967 回答
2
为每个具有GUID的新用户提供一个 cookie 。您可以跟踪它,甚至可以在服务器日志中包含 GUID。
我们使用我们的公共网络服务器执行此操作,以跟踪通过我们网站的“唯一路径”。
于 2009-01-03T20:00:15.743 回答