脚本宝典收集整理的这篇文章主要介绍了php – 记住我的cookie,需要会话cookie吗?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
记住我的cookie构造如下:
userid:timeout:hash
散列是用户ID的HMAC SHA256散列:超时以防止篡改.
如果会话ID不存在(用户关闭浏览器并再次打开它以便cookie消失,或者memcached中不存在会话ID),它会查看remember cookie并重新生成一个新的会话cookie,前提是它已经存在没有超时,哈希是正确的.
但是我根本没有看到会话cookie的意义,因为会话ID只指向后端的用户ID.我可以使用remember me cookie来检索当前用户.
所以我想完全废弃会话cookie,并有兴趣听到一些关于此的想法.这种方法听起来相对安全吗?我可以做得更好吗?
提前致谢!
如果用户设法从其他用户窃取cookie,您必须更改生成cookie的整个方式或用户将始终有权访问,从而重置每个人的cookie,会发生什么情况.想象一下,这是你的cookie被盗……
这是我的解决方案:在用户表中创建另一行名为’userhash’.当用户登录时,您生成一个随机哈希而不进行任何输入,只是随机,并将其存储在表和cookie中.然后你只需要在cookie中存储userhash:timeout.您检查数据库是否存在,如果存在,那就是您的用户.当用户注销时,cookie和数据库中的行将被删除.出于显而易见的原因,您必须在比较之前检查cookie是否存在(将有许多空).
注意:此方法只允许一次注册一个cookie,因此没有笔记本电脑桌面.这很好,因为偷窃变得更加困难,因为只要真正的用户不登录就会持续,而且因为它只允许1台计算机而导致错误.但你看到了这个想法,以及如何使用这种方法,但有几台计算机登录…类似faceBook.
PD,如果你说你的应用程序必须实际上有多安全,那就太好了……
PD2,如果您还没有考虑过,还有其他更严重的安全问题(SSL就是一个).
以上是脚本宝典为你收集整理的php – 记住我的cookie,需要会话cookie吗?全部内容,希望文章能够帮你解决php – 记住我的cookie,需要会话cookie吗?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。