忘记密码滥用

根据

我收紧了规则,即使在最坏的情况下,用户每天最多也只能进行 6 次重置。这应该在一定程度上限制邮件发送量。

此外,我采纳了 @riking 的建议,我们现已尊重被屏蔽的邮箱地址。因此,如果管理员屏蔽了某个 IP,该 IP 将无法再参与此操作。

这里有一个重要的遗漏(@riking),它可以在一定程度上辅助用户自助处理:当前的“密码重置”邮件并未包含发起重置请求者的 IP 地址:

@codinghorror,您认为在设置密码的邮件中加入发起者的 IP 地址如何?(我们甚至可以将其稍微隐藏起来),这将极大地改善自助处理能力。

Jane 遭到攻击
Jane 通知站点管理员,IP 12.12.12.12 持续尝试重置密码
管理员屏蔽 12.12.12.12

由于人们可以访问大量 IP 地址,这仍然可能演变成猫鼠游戏,但至少情况比以前有所改善,且限制更加严格。

Facebook 使用了这种技巧,我某种程度上支持实施该方案:

这使得他们无需在邮件中包含 IP 地址,只需在服务器端进行追踪,链接中包含数据库中的 ID。这意味着屏蔽滥用者可以变成一键操作。

作为背景补充,Facebook 要求通过邮箱进行密码重置(他们甚至没有传统意义上的密码重置功能,仅仅是通过邮箱登录)。

10 个赞