我正在处理重置密码功能
这个想法是
在用户表中添加字段,例如pw_reset_code varchar (40) Nullable
,
然后我随机生成一个密钥,并在用户请求获取密码时将其添加到该字段。
此外,生成获取重置密钥链接,例如
http://myadmin.com/reset/123233432423412342342343434324234
然后,重置php是检查密钥是否为例如123233432423412342342343434324234存在于数据库中,
更新与密钥匹配的用户的密码,然后删除密钥
那么,这是创建重置密码功能的正确方法吗?谢谢你的帮助
答案 0 :(得分:1)
你可以这样做。
但是你也可以在一个表格中存储它,它存储时间,ip-adress和id。
要添加一些额外的安全性,我会添加用户ID,或者如果您不想显示它,用户名和密钥。
然后让它在一个小时左右到期。
如果已经使用了密钥,还要添加一个字段。
因此,如果有人试图从用户多次检索密码并失败。
您可以通知用户某人可能正在尝试进入他们的帐户。
顺便说一下,没有"正确的方式"。解决问题有不同的方法,最后由您决定。