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

Firebase实时数据库测试模式即将到期,如何更新安全规则?

解决Firebase Realtime Database测试模式到期的问题

你现在面临的是Firebase测试模式规则到期的问题——当前的规则设置了截止到2020-10-15就拒绝所有读写请求,5天后你的应用就无法访问数据库了,必须尽快更新安全规则。下面给你几种常见的解决方案,你可以根据自己的应用场景选择:

1. 允许已认证用户读写整个数据库(通用场景)

如果你的应用需要用户登录才能使用,这是最基础且安全的规则设置,只让通过Firebase Auth认证的用户访问数据库:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

解释:auth != null表示用户已经完成登录认证,这样既能避免未授权的外部访问,又能满足正常用户的使用需求。

2. 精细权限控制(用户只能访问自己的数据)

如果你的应用存储了用户专属数据(比如个人信息、私有内容),建议设置更细粒度的规则,让用户只能读写自己的节点:
假设你的数据结构是/users/{userId},其中userId是用户的Firebase UID,规则可以这样写:

{
  "rules": {
    "users": {
      "$userId": {
        ".read": "$userId === auth.uid",
        ".write": "$userId === auth.uid"
      }
    }
  }
}

这样每个用户只能访问自己的users节点,避免了用户之间的数据泄露,安全性更高。

3. 开发阶段的临时安全规则(比测试模式更安全)

如果你还在开发阶段,不想严格限制权限但又不想完全暴露数据库,可以用这种临时方案(比如限制特定IP,或者结合认证+临时时间):

{
  "rules": {
    ".read": "auth != null || request.ip === '你的开发机器IP'",
    ".write": "auth != null || request.ip === '你的开发机器IP'"
  }
}

注意:这种方式只适合开发阶段,上线前一定要换成正式的安全规则。

更新规则的步骤

  • 打开Firebase控制台,找到你的项目,进入Realtime Database模块
  • 切换到规则标签页
  • 删除现有的测试规则代码,替换成上面适合你的规则
  • 点击右上角的发布按钮,确认更新

重要提醒

永远不要使用.read: true和.write: true这种完全开放的规则(除非你的数据是完全公开且无需保护的),否则你的数据库会被恶意访问、篡改甚至清空。一定要遵循最小权限原则,只给必要的访问权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 13:57:39