我尝试使用用户计算机的IP地址但我意识到所有计算机的公共IP地址在特定网络中是相同的。但是我想在我的大学网络中向不同的用户显示不同的图像。没有用户的登录信息,所以我可以用什么来用javascript来唯一地识别用户或用户的计算机。
由于
答案 0 :(得分:0)
您可以尝试会话或Cookie但如果您在Javascript中使用客户端,则无法保证它不会更改,或者他们不会使用其他浏览器。
如果Flash可用,Flash Cookie可能是一种可能的跨浏览器方法。见How do I uniquely identify computers visiting my web site?
答案 1 :(得分:0)
已经提到设置cookie,所以我提供了另一种可能性。
您可以使用用户的分辨率/浏览器/设置/等作为输入尝试某种散列函数。这不是一种万无一失的方式,但输入中的微小变化将导致不同的哈希值。
答案 2 :(得分:0)
有两种选择:使用cookie(合理的现代浏览器有其他方法,如Web Storage,但它们相同),或指纹浏览器(例如{{3} })。每个都有利有弊:
您需要做的就是在第一次访问时生成psuedorandom数字并将其存储在cookie中。 Cookie可以长时间保持不变,直到用户手动删除cookie,重新创建其浏览器配置文件等,此时图像可能会更改,但用户可以合理地期望在执行其中一个时看到一些更改动作。有些用户可能完全阻止你的cookie - 这只意味着他们都会得到相同的图像。有一些法律规定了cookie的使用,特别是在欧洲,所以如果您还没有使用过,而且您的网站在欧洲很受欢迎,您可能需要添加免责声明。
通过查询屏幕分辨率,安装的插件,软件版本等内容创建指纹,然后散列结果以生成标识系统的短数字/字符串 - 您只需要将该标识符转换为1之间的数字7.当这些参数中的任何参数发生变化时,该值将发生变化,但不受清洁cookie的影响,也不受某些地区要求披露cookie使用的相同法律的影响(可能还有其他法律规定使用浏览器指纹识别)。