作为我正在进行的一个更大项目的一部分,我们希望在用户登录过程中集成“记住我”功能。首席开发人员的一个建议是简单地将他们的 PHP session_id() 存储在 cookie 和数据库中的记录中。当他们下次访问该站点时,从 cookie 中查找 session_id 并检索他们的凭据。
这对于使用一台计算机的用户非常有用,但与云计算(它是一个网络应用程序)的本质背道而驰,在云计算中,用户可能会从不同的计算机访问网站,并且可能希望选择记住他的详细信息商场。例如,在一台机器上设置他们的 session_id,然后在另一台机器上重新设置它意味着他们将从第一台机器上注销。
我倾向于向团队建议我们创建一个具有以下结构的单独数据库表:
+----------------+----------------+------------------+--------------------+
| user_id | session_id | ip_address | initial_login_date |
+----------------+----------------+------------------+--------------------+
| 5 | 123456789101 | 192.168.0.1 | 1305194639 |
+----------------+----------------+------------------+--------------------+
| 5 | 021456789101 | 255.255.255.255 | 1305194639 |
+----------------+----------------+------------------+--------------------+
然后我们需要做的就是在表中查找他们的 session_id,并获取 user_id。
有没有更好的方法来实现这一点?
最佳答案
This这篇文章对我帮助很大
关于php - 'remember me' 功能的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975718/