PHP - 如何实现密码重置和 token 过期

标签 php

我想设置一个 php 密码恢复脚本,使用 24 小时后过期的 token 。但我不知道该怎么做。我现在有 SHA1 加密的用户密码。我想我想做的就是将 token 附加到 URL,当用户请求重设密码时发送给用户。但是我该如何正确地做到这一点以及我需要在数据库中存储什么?

最佳答案

  1. 当您的用户请求重置密码时,生成一个 token 并计算其到期日期
  2. 将 token 及其到期日期存储在用户表中该用户的单独列中
  3. 向用户发送一封包含重置链接的电子邮件,并将 token 附加到其 URL
  4. 当您的用户点击链接时,从您的 URL 中获取 token (可能使用 $_GET['token'])
  5. 根据您的用户表验证 token
  6. 检查它是否尚未过期
    • 如果它已过期,则使其失效,可能通过清除字段,并允许用户重新发送
  7. 如果 token 有效且可用,请向用户出示您的密码重置表单
  8. 验证和更新密码并清除 token 和到期字段

关于PHP - 如何实现密码重置和 token 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3164978/

相关文章:

php - 解析 PHP 问题 - fopen() 对于 CSV 文件无法正常工作

php - 将用户的学校时间表打印为表格的算法

php - (MYSQL) 使用特定参数选择最后一行

php - Fancybox 实例向自身发送 POST

javascript - 使用ajax从mysql数据库获取日期选择数据

面向 ASP.NET MVC/NHibernate 开发人员的 PHP MVC 框架

php - Drupal 8 Ajax 忘记表单更改

php - Laravel Composer 更新失败 Ubuntu

选择后立即删除 PHP

php - 路由模型绑定(bind)和软删除 - Laravel 4