首页 > 解决方案 > Firebase 基本规则问题

问题描述

我有一个存储用户信息的 firebase 实时数据库。我正在创建一个仪表板,我可以在其中跟踪所有这些,但我在创建安全规则时遇到了麻烦。我希望能够在此仪表板上读写,但用户无法读取数据库。我将是仪表板上唯一的人,因为它是本地的。我正在考虑检查我可以在仪表板中拥有的 api 密钥,但我在网上找不到任何信息。如果您有任何建议,请让我知道。以下是我目前的规则。我把它放在没有人可以读取数据库但他们可以写入它的地方。我希望能够从仪表板读取数据库。

{
  "rules": {
    ".read": "false",
    ".write": true,
     "posts": {
            "$uid": {
        ".write": "!data.exists()"
 }
 }
}
}

标签: javascriptfirebasesecurityfirebase-realtime-databasefirebase-authentication

解决方案


安全规则将取决于用户可以读/写的确切内容,但如果您想成为唯一可以做到这一点的人,您可以将安全规则设置为类似,

{
  "rules": {
    "users": {
      "$node_with_data": {
        ".write": "auth.uid === 'enter_your_uid_here_123' ",
        ".read": "auth.uid === 'enter_your_uid_here_123' "
      }
    }
  }
}

这意味着唯一可以读取/写入指定节点的人是具有与您输入的匹配的 uid 的用户。显然,这意味着用户无法写入此节点,因此您需要考虑您拥有哪些类型的用户以及允许他们访问的内容。

这是一个有用的链接Firebase 安全规则


推荐阅读