Cookies 不可恢复的持久登录cookie

Cookies 不可恢复的持久登录cookie,cookies,login,autologin,Cookies,Login,Autologin,读过这样的文章,我想知道是否有一个合理的好方法来实现这一点 所以,我想让一个骗子很难偷一块饼干,然后用在他自己的电脑上。使用安全的cookies是不可能的。我一直在考虑的是将用户浏览器的一些信息散列到cookie中,一旦尝试自动登录,就会验证cookie 所以,我现在面临的问题是要散列哪些信息。浏览器名称应为ok,但版本号将使每次浏览器升级时的自动登录无效。特征嗅探也是如此。我一直在考虑的是对浏览器名称和用户的区域设置进行哈希运算,以获得一种合理的特定方法来抵制cookie盗窃 我走对了吗?有没

读过这样的文章,我想知道是否有一个合理的好方法来实现这一点

所以,我想让一个骗子很难偷一块饼干,然后用在他自己的电脑上。使用安全的cookies是不可能的。我一直在考虑的是将用户浏览器的一些信息散列到cookie中,一旦尝试自动登录,就会验证cookie

所以,我现在面临的问题是要散列哪些信息。浏览器名称应为ok,但版本号将使每次浏览器升级时的自动登录无效。特征嗅探也是如此。我一直在考虑的是对浏览器名称和用户的区域设置进行哈希运算,以获得一种合理的特定方法来抵制cookie盗窃

我走对了吗?有没有一种事实上的方法可以做到这一点

这个系统不需要100%坚不可摧,这是合理的

PS:您不必担心cookie中的其他数据。我只是对“不要偷这个饼干”这部分很好奇。


编辑1:散列客户端信息的一个弱点,正如我在别处得到的回答,就是攻击者知道客户端信息被使用,并在cookie被盗时复制客户端信息就足够了。当然,攻击者还有一步要做,但没有我想象的那么大。。。还有其他想法吗?

首先,没有任何简单的方法可以解决这个问题,但我会尝试给你一个更合适的答案。然而,我将从你应该考虑的其他一些事情开始。

首先从如何避免用户的cookie被破坏开始。最常见的cookie劫持方式可能是监听不安全的HTTP通信、使用XSS攻击或利用定义不正确的cookie路径

您提到,在您的案例中,安全cookie是不可能的,但我想指出这一点,以供其他读者进一步参考。确保您的站点始终使用HTTPS,这样,即使用户使用未加密的无线互联网访问,您也可以确保站点的流量是安全的

确保您的站点为cookie定义了正确的域和路径,换句话说,确保cookie不会发送到域中不应该访问cookie的部分

仅在Cookie中启用HttpOnly。这意味着您的Cookie仅在HTTP(S)请求上发送,无法读取,例如,使用JavaScript。这将减少用户的cookie被XSS窃取的机会

也就是说,为了回答您的实际问题,可能通过其他方式识别用户的一种常见方法是使用浏览器指纹。浏览器指纹是使用用户环境的唯一信息构建的哈希,例如,指纹可以包括浏览器插件详细信息、时区、屏幕大小、系统字体和用户代理。但是请注意,如果这些更改中有任何更改,指纹也会更改,因此,在您的情况下,使cookie无效-从安全角度来看,我不一定认为这是一件坏事