登录系统 - 每次加载时调用密码检查

时间:2015-02-16 14:36:05

标签: php performance security

目前我将用户密码纯文本存储在会话中。然后我使用password_verify($plain_password, $hashed_password);进行比较。我认为这真的是低效率和安全性差。

第二种方法可能只检查一次(而不是在会话中存储密码纯文本),然后在用户登录时存储布尔值。只有一个问题;如果用户更改密码该怎么办?然后用户仍然会在其他设备上登录,这当然是坏事。等等,用户可能想要更改密码,因为他/她忘记在公共计算机上注销。

如何解决方法二的问题,以及“正确”的方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以在db中存储密码更改日期,并将其与会话创建日期进行比较。如果在会话开始后更改了传递,则可以清除会话用户数据