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

无需认证使用Firebase实时数据库的规则配置咨询

Firebase实时数据库无认证场景的规则配置

你用的全开放规则(.read和.write都设为true)之所以会失效,是因为Firebase的安全系统会自动识别这种过于宽松的权限设置,一段时间后会强制限制数据库的读写操作,防止恶意滥用。

针对无认证的场景,有两种可行的规则配置方案:

一、开发调试临时规则(仅限开发阶段)

可以给规则添加时间过期限制,避免被Firebase的安全机制拦截,示例如下:

{
  "rules": {
    ".read": "now < 1735689600000", // 时间戳对应2024年1月1日,可自行修改
    ".write": "now < 1735689600000"
  }
}

这种规则会在指定时间后自动失效,适合短期开发调试使用。

二、生产环境可用规则(必须缩小权限范围)

如果要在生产环境使用无认证访问,绝对不能全开放权限,必须缩小读写范围或添加数据校验,示例如下:

示例1:仅开放特定节点的读写权限

{
  "rules": {
    "public_data": { // 只开放名为public_data的节点
      ".read": true,
      ".write": true
    },
    // 其他节点默认禁止访问
    ".read": false,
    ".write": false
  }
}

示例2:开放节点同时限制写入数据格式

{
  "rules": {
    "public_data": {
      ".read": true,
      ".write": true,
      "$entry": {
        // 校验写入的数据必须包含content和timestamp字段,且timestamp是数字类型
        ".validate": "newData.hasChildren(['content', 'timestamp']) && newData.child('timestamp').isNumber()"
      }
    },
    ".read": false,
    ".write": false
  }
}

通过缩小权限范围、添加数据校验,Firebase不会判定规则为危险配置,能保证数据库长期正常运行,同时也能降低数据被恶意篡改或泄露的风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:20:02