c# - 单击过期链接如何在重置密码的上下文中工作

标签 c# asp.net email hyperlink password-recovery

我正在设计和开发“重置密码” 表单,用户可以在其中提供用户名/电子邮件地址,以便应用程序将在电子邮件中发送一个链接,供用户单击并输入新密码。我的兴趣全在于这个链接,我应该如何继续做这些工作(我不是在寻找基于意见的答案,而是在寻找行业实践,适用于您的应用程序的步骤)。

  • 确保链接没有启用书签(不允许他用相同的链接重置密码)

  • 如果链接也包含过期信息,如果他点击过期链接会发生什么

您还可以通过提供我在当前执行计划中可能遇到的其他问题来帮助我。

最佳答案

我刚刚实现了类似的东西。

  1. 用户点击“丢失密码”并输入电子邮件地址。

  2. 提交时,生成一个重置代码,这样主密码不受影响。 (也应该加盐)。设置使用重置代码的超时时间。

  3. 用户访问更改密码表单。输入电子邮件、重置代码、新密码和确认密码。成功后,清除重置代码并设置新密码,重定向到登录页面。

我决定将重置代码作为 url 的一部分,以方便用户使用。至于书签,嗯,你不能像那样保护所有用户。如果他们想为该页面添加书签,请允许他们。上述措施应该可以阻止他们提交任何不合规的内容。

关于c# - 单击过期链接如何在重置密码的上下文中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8254003/

相关文章:

c# - 基于全局组的安全脚本?

asp.net - 将数据拆分为两个并排的 HTML 表格的好方法

email - 如何将传入邮件转发到 HTTP 端点?

c# - C# 中的轻量级类到 MySQL 记录映射?

c# - ASP.NET Core 中的 NuGet 包位置在哪里?

c# - 在数据库中存储时区信息的最佳方式是什么?

php - 将电子邮件转发到通讯组列表

java - 如何从jsp页面使用GMail SMTP服务器发送电子邮件?

c# - 在 C# 中使用 IFilter 并从数据库而不是文件系统中检索文件

c# - 使用 StringComparison.Ordinal 对 String 进行排序的最简单方法