php - 'remember me' 功能的最佳实践?

标签 php mysql session authentication

作为我正在进行的一个更大项目的一部分,我们希望在用户登录过程中集成“记住我”功能。首席开发人员的一个建议是简单地将他们的 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/

相关文章:

php - 如何用php连接到远程mongodb?

php、ajax、html 选择元素

mysql - 无法从 ubuntu 中完全删除 mysql

python - 是否可以在不安装mysql5包的情况下安装py26-mysql?

php - 使用 SET @variable=?在 mysqli 准备好的语句中

php - Laravel 返回的奇怪日期

java - CDI 事件及其传播范围

php - 如何为现有用户更改 session cookie 域

php start_session() 不适用于本地主机

PHP/MySQL : The right way creating a big website database based