jpa*_*kal 7 security reset forgot-password
通过邮件重置用户密码的正常流程如下:
但是,维护一个表并使旧字符串等过期似乎有点不必要的麻烦.这种替代方法有任何明显的缺陷吗?
请注意,用户的密码已经以散列和盐渍形式存储,我只是再次对其进行哈希处理,以获得唯一但可重复的字符串.
是的,有一个明显的"缺陷":这样生成的重置链接在用户更改密码(点击链接)之前不会过期.我真的不明白为什么这会成为一个问题 - 如果邮箱被泄露,用户无论如何都会被搞砸.并且没有重复使用的风险,因为一旦用户的密码更改,重置链接将不再匹配.
要解决这个问题obvious flaw,请添加当前日期(以及更多与时间相关的信息,表示即使一天中的当前分数太长),也可以添加到您要生成神秘字符串的内容并检查它 - 这使得字符串"到期"(如果您想要更长的"到期日期",您可以检查上一个以及当前日期或分数).所以在我看来你的方案是非常可行的.
| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |