如何使用cookie自动重新登录用户

Jak*_*ris 3 php authentication cookies web-applications

所以在我的应用程序登录表单上,我有一个像[_]记住我这样的小盒子

当用户检查我们$_COOKIE['rememberMe']使用用户名的值设置时。现在当那个用户在 3 天后回来时,我显然想识别他们并自动重新登录。简单地检查该 cookie 的存在,然后使用它的值作为用户名来在没有密码的情况下登录,这听起来并不安全。但我不确定我还会如何自动记录它们......通常有办法做到这一点吗?

ric*_*pai 7

您的 cookie 应具有三个值:1. 用户名 2. 过期时间 3. 会话代码

当用户登录时,生成会话代码并设置到期时间。将该会话代码和到期时间存储在 cookie 和您的数据库中。

然后每当用户返回站点时,如果用户未登录: 1. 检查 cookie 2. 根据数据库检查 cookie

如果所有三个变量都匹配并且到期时间未结束,请登录用户。

或者,如果您只是将会话代码编码为 ($username.$expiration_time) 的 md5,那么您将不必设置用于存储和检查的数据库。虽然拥有一个随机生成的会话代码的数据库要安全得多。