You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Phone Auth遭大量未知OTP请求滥用,寻求解决办法

阻止Firebase Phone Authentication短信滥用的解决方案

以下是针对你遇到的Firebase短信验证被滥用问题的具体解决方法:

  • 启用Firebase App Check
    这是Firebase官方防滥用工具,可验证请求是否来自合法应用:

    • 网站端:在Firebase控制台「App Check」页面为Web应用启用reCAPTCHA v3,前端集成App Check SDK,确保发起OTP请求时携带有效验证令牌。
    • React Native端:iOS启用App Attest、Android启用SafetyNet Attestation,集成SDK后所有Firebase请求会自动附带验证令牌,拦截非法来源请求。
  • 设置严格的短信配额与速率限制
    在Firebase控制台「Authentication」→「Sign-in method」→「Phone number」中配置:

    • 单手机号每日请求OTP的最大次数(建议3-5次)
    • 单IP地址每分钟/每小时的请求上限
    • 全局每日短信发送总量阈值,超量后自动拦截
  • 将OTP请求逻辑转移到后端
    避免前端直接调用signInWithPhoneNumber,改为后端触发:

    1. 用户前端输入手机号后,先完成人机验证(如reCAPTCHA v2)
    2. 前端将手机号和验证结果发送至后端
    3. 后端校验人机结果有效后,调用Firebase Admin SDK的verifyPhoneNumber发送OTP
      后端可额外添加IP黑名单、用户行为分析等校验,拦截异常请求
  • 限制API密钥使用范围
    检查Firebase Web API密钥是否被滥用:

    • 在控制台「项目设置」→「API密钥」中,为Web密钥添加限制:仅允许你的网站域名、RN应用包名/签名使用
    • 禁止前端硬编码敏感密钥,必要时用环境变量或后端代理
  • 添加Web应用防火墙(WAF)防护
    针对网站端滥用,用Cloudflare或Google Cloud WAF设置规则:

    • 拦截频繁请求OTP的IP
    • 识别并阻止带异常User-Agent的自动化请求
    • 对OTP请求接口设置访问频率限制
  • 完善监控与告警机制

    • 在Firebase「Cloud Monitoring」创建告警规则,当短信发送量超过阈值(如单日300条)时立即通知
    • 定期分析Authentication日志,找出新的滥用来源(IP、地区)并加入黑名单

内容的提问来源于stack exchange,提问作者Rahul Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:42:44