“记住我” - 在 cookie 中保留啥? -PHP [重复]

Posted

技术标签:

【中文标题】“记住我” - 在 cookie 中保留啥? -PHP [重复]【英文标题】:"Remember me" - What to keep in cookie? -PHP [duplicate]“记住我” - 在 cookie 中保留什么? -PHP [重复] 【发布时间】:2015-12-02 05:30:08 【问题描述】:

嗯,

过去,当客户端连接到站点时,我将其保留为$_SESSION

现在,我想用 cookie 实现“记住我”的可能性。

出于安全原因,我应该把cookie的值放在什么地方?

谢谢。

【问题讨论】:

这个问题已经回答了here。 【参考方案1】:

短期用户身份验证通常使用会话,而长期身份验证依赖于存储在用户浏览器中的长期 cookie。用户通常将此功能作为一个标记为“在这台计算机上记住我”的复选框来体验。在不构建可轻易利用的后门的情况下实现“记住我”功能需要一个小的工程壮举。

简单的解决方案:只需将用户凭据存储在 Cookie 中

任何看起来像remember_user=1337 的长期身份验证解决方案都容易被滥用。由于管理员帐户的用户 ID 通常较低,remember_user=1 几乎肯定会让您登录到特权用户帐户。

持久认证令牌

另一个不太容易受到攻击的常见策略是在用户选中“记住我”框时生成唯一令牌,将唯一令牌存储在 cookie 中,并拥有一个将令牌与每个用户的令牌相关联的数据库表帐户。这里还有很多地方可能会出错,但毫无疑问,它比以前的策略有所改进。

Source

为了更深入的了解,强烈推荐这个Implementing Secure User Authentication in php Applications with Long-Term Persistence

【讨论】:

感谢您的信息(:

以上是关于“记住我” - 在 cookie 中保留啥? -PHP [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在Asp.net Core的登录过程中为“记住我”设置单个cookie超时?

存储“记住我”cookie 和 CSRF 保护

PHP登录系统:记住我(持久cookie)[重复]

登陆功能的记住我选项(Cookie和Session)

Laravel cookie 会话生命周期

资源所有者密码凭证流和“记住我”功能(在 cookie 中)