我需要找出一种方法,唯一地识别每台计算机访问我正在创建的网站。有人有什么建议吗?
因为我想解决方案工作在所有机器和所有浏览器(在合理的范围内),我试图使用javascript创建一个解决方案。
饼干可不行。
我需要基本上创建一个guid的能力,这是唯一的计算机和可重复的,假设没有硬件变化发生在计算机上。我正在考虑的方向是获得网卡的MAC和这种性质的其他信息,这将id访问网站的机器。
我需要找出一种方法,唯一地识别每台计算机访问我正在创建的网站。有人有什么建议吗?
因为我想解决方案工作在所有机器和所有浏览器(在合理的范围内),我试图使用javascript创建一个解决方案。
饼干可不行。
我需要基本上创建一个guid的能力,这是唯一的计算机和可重复的,假设没有硬件变化发生在计算机上。我正在考虑的方向是获得网卡的MAC和这种性质的其他信息,这将id访问网站的机器。
当前回答
实际上,您想做的事情无法实现,因为协议不允许这样做。如果静态ip被普遍使用,那么你可能就能做到这一点。它们不是,所以你不能。
如果您真的想要识别用户,请让他们登录。
因为它们可能会移动到你网站上的不同页面,你需要一种方法来跟踪它们的移动。
只要他们登录了,你就可以通过cookie /链接参数/信标等跟踪他们在你网站上的会话,你就可以很确定他们在这段时间内使用的是同一台计算机。
最终,如果你的用户没有使用你自己的本地网络,也没有静态IP地址,说这能告诉你他们在使用哪台计算机是不正确的。
如果你想要做的事情是在用户的合作下完成的,每个cookie只有一个用户,他们使用单一的网络浏览器,那就使用cookie。
其他回答
The suggestions to use cookies aside, the only comprehensive set of identifying attributes available to interrogate are contained in the HTTP request header. So it is possible to use some subset of these to create a pseudo-unique identifier for a user agent (i.e., browser). Further, most of this information is possibly already being logged in the so-called "access log" of your web server software by default and, if not, can be easily configured to do so. Then, a utlity could be developed that simply scans the content of this log, creating fingerprints of each request comprised of, say, the IP address and User Agent string, etc. The more data available, even including the contents of specific cookies, adds to the quality of the uniqueness of this fingerprint. Though, as many others have stated already, the HTTP protocol doesn't make this 100% foolproof - at best it can only be a fairly good indicator.
cookie对于确定唯一访问者没有用处。用户可以清除cookie并刷新网站,然后他将再次被归类为新用户。
我认为最好的方法是实现一个服务器端解决方案(因为您需要某个地方来存储数据)。根据您对此类数据需求的复杂程度,您将需要确定哪些是唯一访问。一个明智的方法是允许一个IP地址在第二天返回,并给予一个唯一的访问。同一IP地址在一天内的多次访问不应被视为唯一的。
例如,使用PHP,获取访问者的IP地址并将其存储在文本文件(或sql数据库)中是很简单的。
服务器端解决方案可以在所有机器上工作,因为您将在用户第一次加载您的网站时跟踪用户。不要使用javascript,因为这意味着客户端脚本,而且用户可能在任何情况下都禁用了它。
希望这能有所帮助。
我猜结论是我不能通过编程唯一地识别一台正在访问我的网站的计算机。
I have the following question. When i use a machine which has never visited my online banking web site i get asked for additional authentification. then, if i go back a second time to the online banking site i dont get asked the additional authentification. reading the answers to my question i decided it must be a cookie involved. therefore, i deleted all cookies in IE and relogged onto my online banking site fully expecting to be asked the authentification questions again. to my surprise i was not asked. doesnt this lead one to believe the bank is doing some kind of pc tagging which doesnt involve cookies?
此外,今天在谷歌搜索了很多之后,我发现了以下公司,他们声称出售一种解决方案,可以唯一地识别访问网站的机器。http://www.the41.com/products.asp。
我很感激所有好的信息,如果你能进一步澄清这些相互矛盾的信息,我将非常感激。
我觉得饼干可能就是你要找的东西;这是大多数网站唯一识别访问者的方式。
与前面的解决方案一样,cookie是一个很好的方法,但要注意它们可以识别浏览器。如果我先用火狐浏览器访问一个网站,然后再用ie浏览器访问,两次访问都会分别存储cookie。一些用户也禁用cookie(但更多的人禁用JavaScript)。
另一种需要考虑的方法是IP和主机名标识(请注意,对于拨号/非静态IP用户,这些可能有所不同,AOL也使用通用IP)。然而,由于这只识别网络,这可能不像cookie那样工作。