在会话中有什么参数可以保存密码哈希?
在登录时在会话中存储密码哈希值(在数据库中),并在每次访问时根据数据库哈希对其进行验证,以便自动使密码更改的所有会话无效。
到目前为止,这是我对这个问题的看法。
我不想在这里开始主观讨论。我想收集(尽可能客观)该主题的利弊。我还没有考虑过什么?
答案 0 :(得分:6)
答案 1 :(得分:1)
<强>建议:强>
您可以生成一个&#34;令牌,而不是在会话中存储密码哈希值,在这里您可以生成随机的字符和数字序列,并将其存储在会话中并为其提供到期时间。
假设您和我共享一个密码为cow123的帐户。当我登录时,我将收到令牌$ 124abc和你的令牌%xyz222,这两个令牌都与密码cow123相关。
现在您将密码cow123更改为cat321。
因为我的令牌仍然有效,所以我什么都不会发生(你可以创建一个表来保存有效期限列的有效令牌)