php - 记住我系统的基础知识

标签 php mysql

我正在使用 PHP/MySQL 登录系统。我想给它添加一个记住我。记住我的基 native 制是什么?是否涉及在 MySQL 中存储所有用户信息的表中添加一个新列等?

提前致谢

约翰

最佳答案

为此有几种不同的方法。 secure 方法是向 mysql 用户表添加一个字段,并有一个“remember_me”散列,它只是一个随机生成的散列。

散列应该存储在用户计算机上的 cookie 中,以及用于验证目的的用户 ID,无论内存期持续多长时间(您还应该在数据库中将记住我的时间设置为时间戳以及额外的安全性).当他们打开您的站点时,您会看到该 cookie 是否已设置,如果已设置,则您只需验证用户 ID 的散列。如果验证通过,则认为他们已登录。如果未通过验证,则将他们发送到登录页面/他们未被视为已登录。

这就是我设置大部分网站的方式。痛苦的是,如果他们从另一台计算机登录,那么他们现在不再在他们使用的计算机上进行验证,并且必须重新进行身份验证。但对我来说,安全比他们由于这种情况不得不重新登录更重要。

编辑: 有关 session /安全性的更多信息,请参阅下面的评论。

关于php - 记住我系统的基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337050/

相关文章:

PHP 不执行并且不向数据库添加信息

php - 无法以正确格式为 PHP in_array() 获取数据库数据

php - 通过访问器方法在 $_SESSION 中设置数组值

mysql - 在MySQL中使用 "SELECT"命令按特定单词排序?

php - 需要帮助使用 PHP 将关联数组转换为嵌套 JSON

php - 有什么方法可以将 Highcharts 与 mPDF 转换器一起使用?

mysql - 如何修复 "InnoDB: Failed to find tablespace for table X in the cache. Attempting to load the tablespace with space"

mysql - 从满足某些要求的表中获取数据

javascript - Ajax 图片上传使用序列化方法

php - 我们对用户进行身份验证的方式不再有效,出现身份验证错误