我目前将我的密码保存在数据库中,并使用会话cookie检查它,但它使用户的验证速度很慢,因为我有很多用户,我为我的网站购买了ssl证书,我需要知道保存哈希密码是否安全(sha512)进入cookie还是没有? 这是我保存会话的代码
session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $secure, $httponly);
将其安全参数设置为false是否足以将其设置为true或我需要在用户在地址栏中插入http://site.com时将用户重定向到https?
答案 0 :(得分:0)
如果您需要检查用户是否已登录,请不要保存密码。将用户输入的密码的重新散列值与数据库中的散列值进行比较,然后启动会话并将登录标志设置为true。然后,对于要求用户登录的部分,使用if
语句来检查该用户是否$_SESSION['loggedin'] === true
。这样您就不会在用户本地计算机上存储敏感信息,并且用户无法直接访问$_SESSION
超全局以弄乱其状态。
答案 1 :(得分:0)
不,您不应该在用户的cookie中存储密码,而应该存储会话标识符。 OWASP的Session Management Cheat Sheet值得一读。安全地管理会话有很多微妙之处,但在一个SO问题中并不能全部涵盖这些细节。