Dmy*_*iak 11 browser authentication ruby-on-rails http
为了允许/禁止动作,我需要一个简单的用户识别系统.
这不是一个高安全性要求,可以犯错误(例如,同一个用户将使用不同的浏览器执行不允许的操作).
为了不那么抽象,让我们看看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/,您很有可能唯一地识别用户(如只要它是同一台机器)而不需要cookie.有关浏览器检测和唯一性研究的其他信息,请访问:
http://panopticlick.eff.org/browser-uniqueness.pdf
访问panopticlick页面并进行测试.它将向您展示要查找的内容(并提供示例和如何进行操作的来源),而.pdf将详细说明指纹识别方法的唯一性和细节.
例如,我的系统配置在1,301,578总测试中是唯一的,具有20.38位的识别信息(减少熵).根据他们的研究,在不使用任何客户端跟踪的情况下,在访问之间识别用户时,您将具有94.2%和99.1%的准确率.
| 归档时间: |
|
| 查看次数: |
3018 次 |
| 最近记录: |