Rest 如何防止攻击者使用我的密码重置机制通过电子邮件轰炸他人?
我的web应用程序有一个非常标准的功能,允许忘记密码的用户通过向自己发送一封密码重置电子邮件,其中包含指向页面的链接来创建新密码,从而重置密码 我担心person1可能会使用此页面骚扰person2,声称需要密码重置电子邮件,但会提供person2的电子邮件地址,并使用机器人自动执行此操作,向person2发送大量电子邮件。它不会泄露任何秘密,但可能会非常烦人,即使是收件箱中的DoS,我的应用程序也会受到指责 我知道我可以限制发送电子邮件的api调用,但如何限制?无法对进行api调用的用户进行身份验证,因为如果他们登录,就不需要重置。如果api调用打开,则无法验证调用方,因为任何常规请求信息(如IP)都可能被欺骗(或通过代理服务器发送) 如果我全局限制api调用,那么如果大量合法用户碰巧同时使用该功能,那么他们可能会被锁定Rest 如何防止攻击者使用我的密码重置机制通过电子邮件轰炸他人?,rest,security,password-recovery,denial-of-service,api-security,Rest,Security,Password Recovery,Denial Of Service,Api Security,我的web应用程序有一个非常标准的功能,允许忘记密码的用户通过向自己发送一封密码重置电子邮件,其中包含指向页面的链接来创建新密码,从而重置密码 我担心person1可能会使用此页面骚扰person2,声称需要密码重置电子邮件,但会提供person2的电子邮件地址,并使用机器人自动执行此操作,向person2发送大量电子邮件。它不会泄露任何秘密,但可能会非常烦人,即使是收件箱中的DoS,我的应用程序也会受到指责 我知道我可以限制发送电子邮件的api调用,但如何限制?无法对进行api调用的用户进行身
您如何处理这种情况?限制您将向同一电子邮件地址发送多少封邮件,而不管请求方式如何。这不需要您限制总共要处理多少重置;每个地址都有。啊,这是个有趣的主意。什么样的节流协议足以允许合法使用(包括几次修改),但还不足以成为问题?任何简单的请求/时间规则,如每六小时不超过一封电子邮件,仍然会受到每六小时发送一封电子邮件的人的攻击,这可能不是拒绝服务,但仍然会变得非常烦人。好问题,好主意。我将在中添加这种保护