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

如何设置Firebase实时数据库规则仅允许指定项目注册用户访问?

Firebase实时数据库安全规则配置方案

你当前的规则允许所有通过你项目认证的用户读写全量数据,这确实存在数据泄露或被恶意修改的风险,邮件提示是合理的。首先要明确:web/app是客户端工具,真正访问数据库的是通过这些客户端登录的认证用户,下面给你两种实用的配置方案:

方案一:只允许指定的单个/多个用户访问

适合自己测试、或者只有少数可信用户需要访问的场景:

  1. 打开Firebase控制台,进入「Authentication」页面,找到目标用户的UID(每个用户的唯一标识)
  2. 修改实时数据库规则为:
{
  "rules": {
    ".read": "auth.uid === '你的目标用户UID'",
    ".write": "auth.uid === '你的目标用户UID'"
  }
}

如果有多个可信用户,用数组包含多个UID:

{
  "rules": {
    ".read": "auth.uid in ['用户1UID', '用户2UID']",
    ".write": "auth.uid in ['用户1UID', '用户2UID']"
  }
}

方案二:按用户隔离数据(推荐)

如果你的app有多个注册用户,希望每个用户只能读写自己的数据,先把数据库结构设计为按用户UID划分(比如/users/{用户UID}/个人数据),然后配置规则:

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "auth.uid === $uid",
        ".write": "auth.uid === $uid"
      }
    }
    // 其他数据节点可以按类似逻辑配置
  }
}

这种方式既保证了安全性,也符合正常的用户数据隔离需求。

注意:不要尝试通过“限制app本身”来实现访问控制,Firebase客户端没有绝对可靠的app身份校验(比如Android签名可能被破解、web的API密钥是公开的),结合用户认证的规则才是最安全的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:25:26