我正在asp .net核心2.x应用程序中实现忘记密码方案。我遵循了默认行为
以上所有都是好的,如果用户试图点击步骤3中的链接,系统将拒绝请求说无效令牌!
我需要按照最佳做法实施更多情侣。
有任何帮助吗? 在此先感谢。
答案 0 :(得分:1)
#1已经是这样了,虽然默认值超过24小时,我敢肯定。如果你想改变它:
services.Configure<DataProtectionTokenProviderOptions>(options =>
{
options.TokenLifespan = TimeSpan.FromDays(1);
});
#2需要一些自定义开发,因为没有内置的方法来限制请求的数量。通常,您需要以某种方式坚持在特定时间为特定帐户提交重置的事实。然后,您可以查询该商店,以确定在您的时间范围内特定帐户是否有超过3次此类尝试。
那就是说,实现它可能不是一个好主意。如果发生某种恶意活动,您最终会阻止实际用户重置密码的尝试。如果你担心机器人会发送垃圾邮件,你最好不要使用验证码和/或使用网络应用程序防火墙。