我正在使用 PHP/MySQL 登录系统。我想给它添加一个记住我。记住我的基 native 制是什么?是否涉及在 MySQL 中存储所有用户信息的表中添加一个新列等?
提前致谢
约翰
最佳答案
为此有几种不同的方法。 secure 方法是向 mysql 用户表添加一个字段,并有一个“remember_me”散列,它只是一个随机生成的散列。
散列应该存储在用户计算机上的 cookie 中,以及用于验证目的的用户 ID,无论内存期持续多长时间(您还应该在数据库中将记住我的时间设置为时间戳以及额外的安全性).当他们打开您的站点时,您会看到该 cookie 是否已设置,如果已设置,则您只需验证用户 ID 的散列。如果验证通过,则认为他们已登录。如果未通过验证,则将他们发送到登录页面/他们未被视为已登录。
这就是我设置大部分网站的方式。痛苦的是,如果他们从另一台计算机登录,那么他们现在不再在他们使用的计算机上进行验证,并且必须重新进行身份验证。但对我来说,安全比他们由于这种情况不得不重新登录更重要。
编辑: 有关 session /安全性的更多信息,请参阅下面的评论。
关于php - 记住我系统的基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337050/