【问题标题】:is it secure to save password in cookie or its better to save it in database将密码保存在cookie中是否安全或将其保存在数据库中更好
【发布时间】:2013-05-16 14:42:41
【问题描述】:

我目前将我的密码保存在数据库中并使用会话 cookie 检查它,但它使用户的身份验证如此缓慢,因为我有很多用户,我为我的网站购买了一个 ssl 证书,我需要知道保存散列密码是否安全(sha512)是否放入cookie? 这是我保存会话的代码

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

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

【问题讨论】:

  • 你保存这个密码究竟是为了什么?
  • 永远不要使用 cookie 做这种事情!
  • 保存密码以检查用户是否通过身份验证?
  • Cookies 可以很容易地修改,永远不要那样做......使用会话
  • @HiDd3N:所以如果我使用一些工具创建自己的 cookie,我会自动登录?

标签: php security session cookies


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-07
      • 2018-08-27
      • 2018-02-22
      • 2013-03-05
      • 2011-07-11
      • 2019-11-11
      • 2021-07-15
      • 2011-10-29
      相关资源
      最近更新 更多