会话 cookie 和“记住我”功能有什么区别


What's the difference between the session cookie and "remember me" feature?

CakePHP 会自动创建一个名为 CAKEPHP 的 cookie。使用身份验证组件,一旦登录,此cookie似乎是服务器的用户标识符,您可以关闭浏览器和所有内容,只要cookie在那里,您仍然登录。

与"记住我"功能有什么区别吗?似乎一旦您登录,您就会被"记住",直到您注销或 cookie 无论如何都会过期。

确实谢谢

@Damien关于

"记住我"的机制是正确的。

但根据该值的存储位置,存在一些差异。

默认情况下,会话cookie php doc具有生命周期="直到浏览器关闭"。

如果我们在用户关闭浏览器时默认将该值存储在 $_SESSION 中,会话 cookie 将被删除并且该值将丢失,因此没有"记住我"功能。

如果我们想使用会话实现记住我功能,我们可以更改 php.ini 会话 cookie 生命周期参数以覆盖浏览器关闭行为的过期。

另一方面,如果我们将该值明确存储在 $_COOKIE 中并设置所需的生存时间值,我们确保即使用户关闭浏览器并返回,我们也拥有 Cookie 和唯一值来识别他。