php - CakePHP 忘记密码

标签 php cakephp

您好,我正在寻找使用 CakePHP 创建一个简单的忘记密码系统,用户将在其中输入他们的用户名/电子邮件,然后收到一封电子邮件,其中包含他们可以单击以创建新密码的链接。

我用 Google 搜索了一下,但没有找到任何东西:/

使用 CakePHP 1.3

最佳答案

  1. 显示带有表单的 View ,以便用户可以输入他们的电子邮件地址。
  2. 将表单发布到 reset_password Controller Action 。
  3. reset_password Controller Action 寻找 this->data['User']['email']并将电子邮件地址存储在数据库表中。
  4. 同一个数据库表应该有一个 keytoken field 。该字段应为 CHAR(40)。在reset_password行动 $key = Security::hash(String::uuid(),'sha1',true)创建一个键或散列并将其存储在 key 中或 token领域。
  5. 要生成 URL,请执行 $url = Router::url( ($this->here), true ).'/'.$key Controller 内部 reset_password行动。这将根据当前操作生成一个 url 并向其附加关键参数,您可以在用户单击电子邮件链接时在同一函数中验证该参数。
  6. 您还需要设置 Email组件实际发送电子邮件,包括在邮件正文中生成的 URL。

这应该足以让您朝着正确的方向前进。

关于php - CakePHP 忘记密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012066/

相关文章:

php - 发送内容类型为 : multipart/alternative 的 PHP 邮件

php - 分离多个不同日期范围内的结果

javascript - Highcharts - 如何在我的钟形曲线(标准偏差曲线)上绘制 X 轴线

git - 在 Composer 项目中使用 VCS 的最佳实践

javascript - CakePhp3 - 在 ChartJs 上显示值

php - 使用 PHP PDO 搜索/插入/更新 MySQL 数据库时确保电子邮件为小写

php - 优化缓慢的 MySQL 查询

javascript - 将不同的 PHP 变量传递给模态并在表单输入中显示

php - cakephp - 在 javascript 文件中获取正确的路径

Cakephp - 在 View 和 Controller 中可访问的一个变量