CodeIgniter Auth系统

时间:2009-08-23 09:28:01

标签: php authentication codeigniter

我已经编写了自己的模型来处理身份验证,但我只是想知道如何实现“记住我”功能?

要登录用户,我只需设置以下userdata:UserID(int),LoggedIn(bool)

2 个答案:

答案 0 :(得分:5)

'记住我'是通过cookies实现的。

您的Cookie应采用“RememberMe = userid:[something-confirming-authentication]”的形式

因此,困难的部分是获得'某事 - 确认 - 认证'。这最好实现为:

 sha256(salt + userid)

'salt'是针对用户生成的一系列随机字符,并与数据库一起存储在数据库中。

然后,您可以确认当存在时(您有自己在服务器上计算此哈希的数据,所以您这样做),您将用户标记为已登录。

为了进一步提高安全性,您可能希望使用aes256加密cookie的此组件,并在尝试检查哈希值之前解密。

答案 1 :(得分:0)

加密用户ID和登录状态并将其存储在cookie中。