在cookie中保存密码是安全的,或者更好地将其保存在数据库中

时间:2013-05-16 14:42:41

标签: php security session cookies

我目前将我的密码保存在数据库中,并使用会话cookie检查它,但它使用户的验证速度很慢,因为我有很多用户,我为我的网站购买了ssl证书,我需要知道保存哈希密码是否安全(sha512)进入cookie还是没有? 这是我保存会话的代码

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

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

2 个答案:

答案 0 :(得分:0)

如果您需要检查用户是否已登录,请不要保存密码。将用户输入的密码的重新散列值与数据库中的散列值进行比较,然后启动会话并将登录标志设置为true。然后,对于要求用户登录的部分,使用if语句来检查该用户是否$_SESSION['loggedin'] === true。这样您就不会在用户本地计算机上存储敏感信息,并且用户无法直接访问$_SESSION超全局以弄乱其状态。

答案 1 :(得分:0)

不,您不应该在用户的cookie中存储密码,而应该存储会话标识符。 OWASP的Session Management Cheat Sheet值得一读。安全地管理会话有很多微妙之处,但在一个SO问题中并不能全部涵盖这些细节。