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

如何为Realtime Firebase配置安全规则?当前规则被提示不安全

安全的Firebase Realtime Database规则配置方案

你当前的规则给了myapp整个节点公开可读权限,任何人都能读取该节点下的所有数据,这就是谷歌提示不安全的核心原因。结合你的PHP写入逻辑(往/myapp/usersinfo/{timestamp}路径插入数据),可以根据不同需求配置以下安全规则:

场景1:仅服务端可写入,无公开读权限

如果数据库仅需要你的后端PHP服务写入数据,不需要前端或其他公开渠道读取,可配置最严格的规则:

{
  "rules": {
    "myapp": {
      "usersinfo": {
        // 仅认证请求可写入(你的PHP用Access Token发起的请求属于认证请求)
        ".write": "auth != null",
        // 完全禁止公开读取
        ".read": false
      }
    }
  }
}

如果后端需要读取数据,可将.read改为"auth != null",确保只有认证过的服务端请求能读取。

场景2:增强版规则(校验写入数据格式)

为避免写入不符合预期的数据,可添加数据结构校验,确保email和fullname存在且为字符串类型:

{
  "rules": {
    "myapp": {
      "usersinfo": {
        "$timestamp": {
          ".write": "auth != null",
          ".read": "auth != null",
          // 校验写入的数据结构
          ".validate": "newData.hasChildren(['email', 'fullname']) && 
                        newData.child('email').isString() && 
                        newData.child('fullname').isString()"
        }
      }
    }
  }
}

关键注意事项

  • 不要给任何节点设置无限制的.read: true或.write: true,除非你明确需要公开访问该节点的所有数据。
  • 你的PHP代码使用的Firebase Access Token属于认证请求,因此auth != null的规则会允许它正常完成写入操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:17:36