如何在codeigniter / PHP中设置重置密码链接?

时间:2014-06-13 07:19:17

标签: php mysql codeigniter

我正在处理重置密码功能

这个想法是

在用户表中添加字段,例如pw_reset_code varchar (40) Nullable

然后我随机生成一个密钥,并在用户请求获取密码时将其添加到该字段。

此外,生成获取重置密钥链接,例如

http://myadmin.com/reset/123233432423412342342343434324234

然后,重置php是检查密钥是否为例如123233432423412342342343434324234存在于数据库中,

更新与密钥匹配的用户的密码,然后删除密钥

那么,这是创建重置密码功能的正确方法吗?谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

你可以这样做。

但是你也可以在一个表格中存储它,它存储时间,ip-adress和id。

要添加一些额外的安全性,我会添加用户ID,或者如果您不想显示它,用户名和密钥。

然后让它在一个小时左右到期。

如果已经使用了密钥,还要添加一个字段。

因此,如果有人试图从用户多次检索密码并失败。

您可以通知用户某人可能正在尝试进入他们的帐户。

顺便说一下,没有"正确的方式"。解决问题有不同的方法,最后由您决定。