跳转至

Secure Firebase Database Permissions

安全的 Firebase 数据库权限

描述

Firebase Realtime Database 规则决定了谁对您的数据库具有读写访问权限、您的数据如何结构化以及存在哪些索引。

不安全的数据库权限是一个常见问题,会导致对您的数据库的未经授权的访问。Firebase 提供了强制执行身份验证、授权甚至数据验证的工具。

以下是应避免的常见错误配置问题:

所有用户的读写访问权限:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

任何登录用户都对您的整个数据库具有读写访问权限:

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

Realtime Database 规则向下级联,较浅的父路径上的规则会覆盖较深的子节点上的规则。请记住,在子节点编写规则时,它只能授予额外的权限。您无法限制或撤销对数据库中较深路径的数据的访问权限。

{
  "rules": {
     "foo": {
        // allows read to /foo/*
        ".read": "data.child('baz').val() === true",
        "bar": {
          /* ignored, since read was allowed already */
          ".read": false
        }
     }
  }
}

建议

此条目是安全的,没有适用的建议。

链接