这不是一个高安全性的要求,可以做错误(例如,同一个用户将使用不同的浏览器执行不允许的操作).
不太抽象,我们来看看StackOverflow投票,并假设我们想让公众观众投票,但只能一次.
最简单的事情可以使用 – 使用cookie:每个答案设置一个新的cookie;将所有投票存储在一个Cookie中(或以某种方式组合).
由于cookie大小/数量的限制,这是有点不可靠的.它也将cookie始终发送到站点,而只需要1个操作.
所以从这个角度来说,我想避免使用cookie.
但是不要在常规的HTTP中看到更好的做法.我不认为IP / MAC地址等
所以,在上述的上下文中,问题是:如何匿名识别用户并将该信息存储在客户端?
谢谢.
解决方法
首先是EFF关于互联网上用户隐私(特别是数据背后的熵)的数学题材的一点点.当然可选,但它表达了我们正在看的模型.如果身份识别数学不感兴趣,你可以跳过这个.
http://www.eff.org/deeplinks/2010/01/primer-information-theory-and-privacy
基本上简单地说:只使用浏览器代理,IP地址和其中一个示例(panopticlick)http://panopticlick.eff.org/中公布的其他数据,您可以很容易地识别用户(只要它是同一台机器),而没有需要饼干.有关他们对浏览器检测和唯一性研究的其他信息,请访问:
http://panopticlick.eff.org/browser-uniqueness.pdf
访问panopticlick页面并给它一个测试.它将显示您要查找的内容(并提供示例和来源),而.pdf将详细说明指纹识别方法的唯一性和细节.
例如,我的系统配置在具有20.38位识别信息(熵减少)的1,301,578个测试中是独一无二的.考虑到他们的研究,在访问之间识别用户时,您不会使用任何客户端跟踪,您的准确率将达到94.2%和99.1%.