将密码保存在cookie中安全吗?还是保存在数据库中更好?


is it secure to save password in cookie or its better to save it in database

我目前保存我的密码在数据库中,并检查它与会话cookie,但它使用户的身份验证如此缓慢,因为我有很多用户我买了一个SSL证书为我的网站,我需要知道它是安全的保存哈希密码(sha512)到cookie或没有?这是我保存会话

的代码
session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $secure, $httponly);

其安全参数设置为false是否足以将其设置为true或当用户在地址栏中插入http://site.com时,我需要将用户重定向到HTTPS ?

如果需要检查用户是否登录,则不保存密码。将用户输入的密码的散列值与DB中的散列值进行比较,然后启动会话并将登录标志设置为true。然后,对于需要用户登录的部分,使用if语句检查该用户是否为$_SESSION['loggedin'] === true。这样你就不会在用户本地机器上存储敏感信息,用户也没有办法直接访问$_SESSION超全局变量来扰乱他们的状态。

不,您不应该在用户的cookie中存储密码,而应该存储会话标识符。OWASP的会话管理备忘单值得一读。安全管理会话有很多微妙之处,不可能在一个SO问题中全部涵盖。