阅读了http://jaspan.com/improved_persistent_login_cookie_best_practice之类的文章后,我想知道是否有一种相当好的方法来实现这一目标。
所以,我想要的是让一个骗子很难偷走一个cookie,并在他自己的电脑上使用它。使用安全 cookie 是不可能的。我一直在考虑的是将有关用户浏览器的一些信息散列到 cookie 中,一旦尝试自动登录,就会对其进行验证。
所以,我现在面临的问题是要散列什么信息。浏览器名称应该没问题,但版本号会使每次浏览器升级时的自动登录无效。特征嗅探也是如此。我一直在考虑的是对浏览器名称和用户的区域设置进行哈希处理,以获得一种合理的某种方式来抵消 cookie 盗窃。
我在正确的轨道上吗?有没有一种事实上的方式来做到这一点?
系统不需要 100% 坚不可摧,只要合理就行。
PS:您不必担心cookie中的其他数据。我只是对“不要偷这个cookie”部分感到好奇。
编辑 1:正如我在其他地方得到的回答,散列客户端信息的一个弱点是攻击者知道使用了客户端信息并在 cookie 被盗时复制客户端信息就足够了。当然,攻击者需要多做一步,但不像我想象的那么大……还有什么想法吗?