Pau*_*lie 2 firebase firebase-authentication
在使用包含身份验证的 firebase 的网站上,我正在实现“忘记密码”功能。
sendPasswordResetEmail()如果用户提供的电子邮件没有与其关联的帐户,则返回状态为 400。如果电子邮件确实有帐户,则返回 200。
这意味着攻击者可以不断猜测电子邮件,直到得到 200。然后他们就知道有效的电子邮件。然后他们就可以开始猜测它的密码。
有没有办法sendPasswordResetEmail()永远返回200?无论输入的电子邮件是好还是坏,我希望唯一的回复是“检查您的电子邮件中是否有重置链接”。如果电子邮件无效,那么 firebase 应该悄悄地不发送电子邮件。
或者是否有其他机制可以提高安全性?
火力战士在这里
从客户端 SDK 到 Firebase 身份验证的 API 调用受到速率限制,以降低此类字典攻击的风险。我们还刚刚推出了新的配置选项,允许您启用电子邮件枚举保护,例如INVALID_LOGIN_CREDENTIALS无论错误类型如何始终返回。
如果您怀疑您的项目正在主动发现此类攻击,请联系 Firebase 支持人员,以便他们可以根据需要进行调查并调整配额。
| 归档时间: |
|
| 查看次数: |
389 次 |
| 最近记录: |