修复建议:
1. 严格的身份验证检查 要求用户身份验证:在进行密码重置前,确保用户通过了多因素验证(例如输入旧密码、回答安全问题、通过邮箱或手机验证码等)。 邮箱或手机验证:发送验证码或重置链接到用户绑定的邮箱或手机,避免直接在网站上完成密码重置。 2. 验证码或临时 Token 校验 使用唯一的 Token 或验证码:在用户发起密码重置请求后,生成一个临时 Token 或验证码,并发送到用户的邮箱或手机,确保只有验证 Token 的用户才能重置密码。 设置有效期和使用次数:为重置 Token 设置短时效(如10分钟)和单次使用限制,过期或已用的 Token 应无效。 3. 限制密码重置的尝试次数 限制重试次数:在短时间内限制同一账号的重置请求次数,超过次数则需要等待一段时间。可考虑对同一 IP 地址的请求数量也进行限制。 日志监控:记录所有密码重置请求并进行监控,检测异常活动,如来自同一 IP 的过多请求。