“忘记密码”实施的最佳方法? [关闭]

2023-12-05

我正在寻找实现“忘记密码”功能的最佳方法。

我想出了两个想法:

  1. 当用户单击“忘记密码”时,用户需要输入用户名、电子邮件,可能还有出生日期或姓氏。然后,一封带有临时密码的邮件将发送到用户的电子邮件帐户。用户使用临时密码登录并重置密码。

  2. 类似,但电子邮件将包含一个链接,让用户重置密码。

或者有人可以建议我一种更好、更安全的方法吗?我也在考虑发送临时密码或链接,强制用户在24小时内重置密码,否则临时密码或链接将无法使用。怎么做?


更新:2013 年 5 月修订以获得更好的方法

  1. 用户输入他的用户名并点击“忘记密码”。我还建议选择输入电子邮件地址而不是用户名,因为有时也会忘记用户名。
  2. 系统有一张表password_change_requests与列ID, Time and UserID。当新用户按下该按钮时,就会在表中创建一条记录。这Time列包含用户按下“忘记密码”按钮的时间。这ID是一个字符串。创建一个长随机字符串(例如 GUID),然后像密码一样进行哈希处理(这本身就是一个单独的主题)。然后,该哈希值将用作表中的“ID”。
  3. 系统向用户发送一封电子邮件,其中包含链接。该链接还包含原始 ID 字符串(散列之前)。该链接将是这样的:http://www.mysite.com/forgotpassword.jsp?ID=01234567890ABCDEF。忘记密码.jsp页面应该能够检索ID参数。抱歉,我不懂Java,所以不能说得更具体。
  4. 当用户单击电子邮件中的链接时,他会被移动到您的页面。页面检索到ID从 URL 中获取,再次对其进行哈希处理,然后对照表进行检查。如果存在这样的记录并且不超过 24 小时,则用户出现输入新密码的提示.
  5. 用户输入新密码,点击“确定”,从此每个人都过上幸福的生活......直到下一次!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“忘记密码”实施的最佳方法? [关闭] 的相关文章

  • 使用 Javascript eval() 100% 安全吗?

    我正在编写一个生成 Javascript 代码的 PHP 库 Javascript 代码有许多名为component001 component002 etc 页面通过 AJAX 动态加载 我需要通过 URL 变量传递组件的名称 然后由脚本进
  • AADSTS50011:请求中指定的回复 URL 与为应用程序配置的回复 URL 不匹配:'*****-*****-*****-*****-**** ******'

    我正在尝试使用 Django Microsoft 身份验证后端 允许 o365 登录我的 Django 项目 https django microsoft auth readthedocs io en latest https django
  • AWS Amazon - 登录循环卡住

    我已经使用 AWS 亚马逊几年了 但是 突然当我登录时 我进入了此验证部分 他们将验证码发送到我的电子邮件 我收到了该代码 因此 我输入收到的代码 最终返回登录页面 所以我登录后 同样的事情一遍又一遍地发生 我无法进入我的仪表板 它只是不断
  • Django + nginx + uwsgi 无法登录

    我有非常简单的登录逻辑 类似于官方 Django 解决方案 class Login FormView template name login html form class AuthenticationForm def get self a
  • HTTPS URL 的基本代理身份验证返回 HTTP/1.0 407 需要代理身份验证

    我想在 Java 中使用具有基本身份验证 用户名 密码 的代理来进行连接 并且仅此连接 以下代码适用于 HTTP URL 例如 http www google com http www google com URL url new URL
  • python:API 令牌生成及其危险

    我正在按照 Flask Web Development 一书来实现基于令牌的身份验证 基本上 用户使用 HTTP 基本身份验证对其进行身份验证 并为其生成令牌 s Serializer app config SECRET KEY expir
  • Rails 安全:完全避免大规模分配

    我倾向于不需要批量分配 http guides rubyonrails org security html mass assignment我的生产代码中的功能 在我的测试代码中 我经常使用它 但在这些情况下我do想要设置任意列 因此 如果在
  • 使用socket.io进行用户身份验证

    我已经红色了这个教程 http howtonode org socket io auth http howtonode org socket io auth 它展示了如何使用express和socket io对用户进行身份验证 但是有没有一
  • ASP.Net 中的不同身份验证方式

    我正在为我的公司开发一个网站 该网站可以在我们的内部网络和互联网上访问 有人问我一些对我来说似乎不可能的问题 但我想在真正说之前问这个问题 我们公司有两种类型的用户 一种是实际在 Active Directory 中注册的用户 等等 拥有
  • 日志锻造强化修复

    我正在使用 Fortify SCA 来查找我的应用程序中的安全问题 作为大学作业 我遇到了一些无法解决的 日志锻造 问题 基本上 我记录一些来自 Web 界面的用户输入的值 logger warn current id not valid
  • 保护 ASP.NET 网站中 Elmah RSS 源的安全

    我遵循了这个问题的答案在 ASP NET 网站中保护 Elmah 的安全 https stackoverflow com questions 1245364 securing elmah in asp net website限制对 elma
  • 为 NFL api 生成访问令牌

    NFL 有一个 API 服务 link https api nfl com docs getting started index html https api nfl com docs getting started index html
  • Laravel Auth:attempt() 不会持久登录

    我在网上找到了许多有类似问题的资源 但似乎没有一个解决方案可以解决我的问题 当我使用以下代码登录用户时 一切看起来都很好 email Input get email password Input get password if Auth a
  • 对客户端 JavaScript 计算器使用 eval 安全吗?

    我正在制作一个计算器 作为用户浏览器的静态 HTML 页面 该页面并非旨在将任何信息提交回服务器 除了这个计算器之外 网页上不会出现任何其他内容 在这种情况下使用 eval 安全吗 或者换句话说 在这种情况下使用 eval 是否会导致额外的
  • 数据加密

    存储大量信用卡信息的数据库是我们刚刚完成的系统中不可避免的一部分 不过 我想要的是卡号的最终安全性 我们可以设置一种加密和解密机制 但我们自己无法解密任何给定的号码 我所追求的是一种即使在数据库级别也能保护这些信息的方法 这样任何人都无法进
  • 如何在 Perl 脚本中加密或隐藏密码?

    我正在研究 Perl 脚本 它使用Expect http search cpan org dist Expect通过 telnet 登录到远程计算机 不要问 必须使用 telnet 我还根据需要执行 perforce p4 登录操作 并使用
  • Couchdb - 为读者用户提供的蒲团

    我想知道如何阻止读者访问 couchdb 中的 futon utils 只允许管理员访问 我需要这样做 为什么如果读者用户访问蒲团 他可以看到我所有数据库的名称以及有多少文档 我的应用程序应该让读者只有在知道文档 ID 时才能访问文档 引用
  • Express.js Passport认证自动失败跳过策略

    UPDATE 我已将代码从护照本地注册内部移至单独的处理程序 并且运行良好 问题在于 Passport 和本地注册的使用 但我不知道为什么 我使用 Node js Express Passport 进行身份验证和注册设置 这是以前使用过的标
  • 除了用户名/密码之外的安全性?

    我有一个 Web 应用程序 其安全性要求高于普通 Web 应用程序 当任何用户访问域名时 他们都会看到两个文本字段 一个用户名字段和一个密码字段 如果他们输入有效的用户 密码 他们就可以访问 Web 应用程序 标准的东西 但是 我正在寻找超
  • md5() 是做什么用的?

    我正在阅读本教程简单的PHP登录系统 http www phpeasystep com workshopview php id 6 最后它建议你应该使用 md5 加密您的密码 http www phpeasystep com worksho

随机推荐

  • C 易失性位域结构的复制构造函数

    Good day 我正在尝试在 C 11 项目中使用 C SD 驱动程序 文件系统库 Keil MDK 它是由 Keil MDK 5 23 中的 Pack 管理器添加的 我正在使用 ARMCC 5 06u4 进行编译 我收到警告class
  • 对 css nth-child 求模

    我想找到一种方法来按照模式显示一些颜色到 div 我发现了一个使用模数的技巧 但它似乎不适用于 CSS 因此 如下面的 codepen 示例所示 蓝色背景属性应应用于 1 8 13 20 25 块 gt 我们可以看到每个状态之间的差异是 7
  • 如何删除 firebase 中的值

    只是一个小问题 现在我有这个结构 images uniqueId id logement 1747657 image dataimage uniqueId id logement 1747657 image dataimage unique
  • Java错误java.util.concurrent.ConcurrentHashMap.keySet

    嘿 伙计 我收到了这个错误 你能尝试解决这个问题吗 或者看看有什么问题 发布修复之类的东西 非常感谢大佬 Exception in thread ExtensionHandler 1 java lang NoSuchMethodE rror
  • 比较 SQLAlchemy ORM 中两列之间的差异

    我正在尝试找出如何做类似答案的事情这个问题但使用 SQLAlchemy 在不诉诸原始 SQL 的情况下 很难找到如何根据两列之间的差异对查询结果进行排序 任何帮助是极大的赞赏 另外 出于好奇 是否可以创建一个自动计算其他两列之间差异的列 例
  • 带参数的 Orbeon 发送按钮

    我已经寻找了一段时间 但找不到一个解决方案 允许我在按下 保存最终 按钮时将请求参数从表单发送到外部 Web 应用程序 这是我到目前为止在properties local xml 中所拥有的内容
  • 检查 C# 中输入的数据类型是否正确

    我想要的是基本上让用户输入一个浮点数 然后系统检查输入是否确实是一个浮点数 如果是 那么它将继续执行代码 如果不是 那么用户将有以正确的数据类型重新输入 对于初学者的问题 抱歉 代码示例是 Console Write Response Va
  • 如何在异步函数中使用 threading.Lock,同时可以从多个线程访问对象

    我想用threading Lock 在异步函数中 asyncio Lock 不是线程安全的 所以我不能这样做with await asyncio Lock 我需要使用的原因threading Lock 是因为这个对象may可以通过多个线程访
  • 尝试使用“execvp()”运行“ls | grep r”

    我创建了一个pipe在两个子进程之间 首先 我跑ls 写入正确的 fd 然后 我跑grep r 从正确的 fd 读取 我可以在终端中看到grep命令工作正常 输出 问题是grep不会退出 它会留在那里 即使ls不再运行 对于其他程序pipe
  • JInternalFrame 位于前面并聚焦

    一个人如何推动一个JInternalFrame到 JDesktopPane 中所有框架的顶部 尝试grabFocus 和requestFocus 其中之一应该有效 我个人只使用了requestFocus
  • 表数据网关和模型

    我听说过 胖模型 瘦控制器 这句话 并且相信我理解它的含义 在工作过程中Zend 快速入门指南我遇到过表数据网关模式 在我看来 这种设计模式正在倡导 MVC 堆栈的第四个组件 它正在从 胖模型 转向 瘦模型 瘦控制器和胖 TableData
  • 如何使用自己类型的成员扩展类?

    假设我们需要使用一个名为 BaseNode 的类来实现不同类型的树 从该类派生出其他类型的节点 并且它假设有一个名为 BaseNode 的实例变量parent它自己的类型 通常看起来像 class BaseNode some fields
  • 在设备上调试 Android 应用程序

    我知道对此有很多问题 但没有一个对我的情况有帮助 我正在运行 Ubuntu 11 10 我正在尝试在我的 LG 手机上调试应用程序 我遵循了这个指南 http developer android com guide developing d
  • 达夫的设备如何工作?

    我读过维基百科上关于 Duff 设备的文章 我不明白 我真的很感兴趣 但我已经读了几次那里的解释 但我仍然不明白达夫的设备是如何工作的 更详细的解释是什么 其他地方有一些很好的解释 但让我尝试一下 这在白板上要容易得多 这是带有一些符号的维
  • UIPickerView EXC 访问错误?

    我不断收到错误访问错误 我认为这与我的 UIPickerView 有关 因为这是应用程序崩溃的时候 一切正常 直到我从 UIPickerView 中做出第九个选择 每次应用程序在第 9 个选择时崩溃 有任何想法吗 void viewDidL
  • 致命错误:CI_Session_files_driver 类包含 1 个抽象方法

    致命错误 CI Session files driver 类包含 1 个抽象方法 因此必须声明为抽象或实现其余的 方法 SessionHandlerInterface open 中 C xampp htdocs cmms2 system l
  • IBM Worklight 6.1 - “Ecma 错误:TypeError:无法调用对象中的属性

    我正在尝试在 Worklight 适配器示例中运行 Javaworklightadapterproject示例项目 但我在尝试调用过程时遇到错误 errors Ecma Error TypeError Cannot call propert
  • 自 2013 年 2 月 6 日起,通过“feed”连接使用 Graph API 向朋友墙发帖失败

    我的应用程序开始无法在朋友的提要上发布项目 我收到此错误 Facebook request error The operation couldn t be completed facebookErrDomain error 10000 de
  • VBA 的日期无法在 Excel 2011 中运行?

    这是我的代码 我正在尝试 它可以在 PC 上运行 但不能在 Mac 上运行 运行此代码并创建一个 Excel 工作表 命名 添加一个选项卡 更改所述选项卡的颜色 更改所述选项卡 然后转置数据 同时保持单元格的格式以及单元格的宽度和高度到新工
  • “忘记密码”实施的最佳方法? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找实现 忘记密码