在一段时间后 "忘记密码 "链接无效 asp net core

 2023-02-15    283  

问题描述

我在ASP .NET Core 2.x应用程序中实现忘记密码方案.我遵循默认行为

  1. 点击从登录
  2. 的忘记密码链接

    在一段时间后 "忘记密码 "链接无效 asp net core

  3. 输入电子邮件
  4. 发送带有链接/resetpassword的电子邮件?代码= [某些编码字符串]
    …等等
  5. 单击链接并使用电子邮件打开重置密码屏幕,
    新密码和确认密码.

所有上述都可以,如果用户attemps在步骤3中单击链接,系统将拒绝请求说,无效令牌!

我需要在最佳实践之后实现更多夫妇.

  1. 在时间段之后拒绝请求或使令牌无效.即24小时.
  2. 如果用户尝试超过阈值,请拒绝请求.即每天3次.

任何帮助?
提前谢谢.

推荐答案

#1已经是这种情况,虽然默认值超过24小时,但我确定.如果要更改它:

services.Configure<DataProtectionTokenProviderOptions>(options =>
{
    options.TokenLifespan = TimeSpan.FromDays(1);
});

#2需要一些自定义开发,因为没有内置的方式来限制请求的数量.一般而言,您需要以某种方式持续存在,即在特定时间为特定账户提交重置的事实.然后,您可以查询该商店以确定在时间范围内的特定帐户是否超过3种此类尝试.

说,实现这一目标可能不是一个好主意.如果发生了某种类似的恶意活动,您将最终阻止实际用户重置密码的尝试.如果您担心BOT垃圾邮件表格,您将更好地实现CAPTCHA和/或使用Web应用程序防火墙.

以上所述是小编给大家介绍的在一段时间后 "忘记密码 "链接无效 asp net core,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33748.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。