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

标签 php mysql codeigniter

我正在开发重置密码功能

这个想法是

在用户表中添加一个字段,例如pw_reset_code varchar (40) 可空,

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

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

http://myadmin.com/reset/123233432423412342342343434324234

然后,重置php是为了检查key是否是123233432423412342342343434324234 已存在于数据库中,

更新与 key 匹配的用户的密码,并删除 key

那么,创建重置密码函数的正确方法是什么呢?感谢您的帮助

最佳答案

你可以这样做,是的。

但是您也可以将其放在一个单独的表中,该表存储时间、IP 地址和 ID。

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

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

如果 key 已被使用,还要添加一个字段。

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

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

顺便说一句,没有“正确的方法”。解决问题的方法有多种,最终取决于您。

关于php - 如何在codeigniter/PHP中设置重置密码链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24199751/

相关文章:

php - 如何从帖子页面的内容中显示实际的 "search term"并在 wordpress 中显示?

java - JPA 在插入/更新时返回完整的外键实体

mysql - Google Maps API - Infowindow 内容来自 mySQL 数据库并通过 ClusterMarkerer 显示

php - 无法获取要从数据库中删除的消息行

php - 如何将此数组拆分为三个并使用 php 将其放在 <td> 中?

php - 具有动态页面 (php) 性能的 apache .htaccess 规则

php - 运行两个查询,INSERT 和 INSERT INTO SELECT (php, mysql)

php - 如何在php codeIgniter中更新相同的字段但不同的表

php - 是否可以在 CodeIgniter 中对 View 进行单元测试?

php - 无法通过 Composer 安装 DoctrineMigrationsBundle