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

Firebase移动端应用如何阻止21cn.com域名未知注册并提升项目安全性

嘿,针对你遇到的21cn.com域名邮箱恶意注册问题,我给你整理几个实用的Firebase安全配置方案,亲测有效:

阻止特定域名的注册请求

最直接的方式是在用户完成注册前就拦截这类请求,推荐用Firebase Cloud Functions的beforeCreate触发器:

  • 创建一个Auth前置触发器,检查注册邮箱的域名,如果是21cn.com就直接拒绝注册。代码示例如下:
const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();

exports.blockRestrictedDomains = functions.auth.user().beforeCreate((user) => {
  const emailDomain = user.email?.split("@")[1];
  if (emailDomain === "21cn.com") {
    throw new functions.auth.HttpsError(
      "invalid-argument",
      "Registrations from 21cn.com are not allowed."
    );
  }
});

部署这个函数后,任何来自21cn.com的邮箱都无法完成注册,从源头阻断恶意请求。

提升Firebase项目整体安全性

除了针对性拦截,还得从整体加固认证安全:

  • 强制邮箱验证:在Firebase控制台的「Authentication > 登录方法 > 邮箱/密码」中开启「启用邮箱验证」。这样就算有漏网的恶意注册,未验证的邮箱也无法登录你的应用,大幅降低影响。
  • 设置注册速率限制:进入「Authentication > 设置 > 安全」,调整「速率限制」参数,比如限制每分钟的注册请求数,阻止自动化工具批量注册。
  • 启用reCAPTCHA保护:在登录方法里开启reCAPTCHA v2或v3,区分人类和机器人。移动端可以集成Firebase的reCAPTCHA组件,嵌入到注册流程中,挡住大部分爬虫和自动化脚本。
  • 关闭不必要的登录方式:如果你的应用不需要匿名登录、手机号登录等其他方式,务必在控制台关掉,减少潜在的攻击入口。
  • 定期清理异常账号:定期查看「Authentication > 用户」列表,手动删除或禁用批量出现的21cn.com域名账号,避免残留的恶意账号带来隐患。
额外前端防护(辅助作用)

虽然前端验证可以被绕过,但能挡住大部分低级的自动化请求:

  • 在你的移动端注册表单里,添加前端验证逻辑,当用户输入@21cn.com的邮箱时,直接提示无法注册并阻止提交。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 11:07:32