加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 生成密码重设密码

发布时间:2020-12-13 17:35:35 所属栏目:PHP教程 来源:网络整理
导读:我正在做一个模块,允许用户重置密码.我注意到大多数网站提供的确认链接包含具有唯一哈希的查询字符串. 我的问题是:如何在每次相同的用户请求忘记密码时生成这个独特的哈希?我应该将这个哈希存储在数据库中吗?会安全吗?还是应该创建一些生成一次性密码的
我正在做一个模块,允许用户重置密码.我注意到大多数网站提供的确认链接包含具有唯一哈希的查询字符串.

我的问题是:如何在每次相同的用户请求忘记密码时生成这个独特的哈希?我应该将这个哈希存储在数据库中吗?会安全吗?还是应该创建一些生成一次性密码的算法?如何生成OTP?

是的你应该

>生成随机重置令牌.参见例如this answer.
>将其存储在数据库中(可能有到期时间)
>使用重置令牌向用户发送电子邮件.
>用户使用查询字符串中的重置令牌访问重置密码页面.
>检查数据库以查看与重置令牌相关联的用户以及到期时间是否过去.
>如果一切都检出,允许用户重置密码,并从数据库中删除重置令牌.

似乎有一个关于重置令牌的生成(或任何你想称之为它)的混乱.请阅读我已经链接的答案,不要用哈希和弱种子重新发明轮子.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读