【发布时间】:2009-08-23 09:28:01
【问题描述】:
我已经编写了自己的模型来处理身份验证,但我只是想知道如何实现“记住我”功能?
要登录用户,我只需设置以下用户数据:UserID(int), LoggedIn(bool)
【问题讨论】:
标签: php authentication codeigniter
我已经编写了自己的模型来处理身份验证,但我只是想知道如何实现“记住我”功能?
要登录用户,我只需设置以下用户数据:UserID(int), LoggedIn(bool)
【问题讨论】:
标签: php authentication codeigniter
“记住我”是通过 cookie 实现的。
您的 cookie 格式应为“RememberMe=userid:[something-confirming-authentication]”
因此,困难的部分是获得“确认身份验证”。这最好实现为:
sha256(salt + userid)
“salt”是针对用户生成的一系列随机字符,并与用户一起存储在数据库中。
然后,您可以确认当它存在时(您拥有自己在服务器上计算此哈希的数据,因此您这样做)您将用户标记为已登录。
为了进一步提高安全性,您可能还希望使用 aes256 加密 cookie 的这个组件,并在尝试检查哈希之前解密。
【讨论】:
加密用户 id 和登录状态并将它们存储在 cookie 中。
【讨论】: