作为我正在开展的一个大型项目的一部分,我们正在寻求在用户登录过程中集成“记住我”功能。首席开发人员的建议是简单地将其PHP session_id()存储在cookie和数据库中的记录中。当他们下次访问网站时,从cookie中查找session_id并检索他们的凭据。
这对于基于一台计算机的用户来说非常好用,但与云计算(它是一个Web应用程序)相悖,用户可能会从不同的计算机访问该网站,并可能希望在所有计算机上都记住他的详细信息。例如,在一台机器上设置其session_id,然后在另一台机器上重新设置其session_id,这意味着他们将被注销第一台机器。
我倾向于向团队建议,我们创建一个具有以下结构的单独的数据库表:
我们只需要在表格中查找他们的session_id,并获取user_id即可。
有更好的方法实现这个吗?
这对于基于一台计算机的用户来说非常好用,但与云计算(它是一个Web应用程序)相悖,用户可能会从不同的计算机访问该网站,并可能希望在所有计算机上都记住他的详细信息。例如,在一台机器上设置其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即可。
有更好的方法实现这个吗?