【问题标题】:Firebase Security Rules -> prevent delete, write as unauthorizedFirebase 安全规则 -> 防止删除、写入未经授权
【发布时间】:2017-12-12 10:52:49
【问题描述】:

我正在尝试将 Firebase 安全规则设置为:

  • 没有人可以读取数据
  • 任何人都可以写入数据,新记录正在下 唯一标识符
  • 没有人可以覆盖当前数据
  • 任何人都不能删除数据

数据库的结构是:

<db_name>
  users
    -L09I7kaAYExzzxB3N82 // this is unique ID generated by push()
    ....

我目前的规则是:

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

如何设置?

谢谢!

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-security


    【解决方案1】:

    类似这样的:

    {
      "rules": {
        ".read": false,
        "users": {
          "$uid": {
            ".write": "newData.exists() && !data.exists()"
          }
        }
      }
    }
    

    我建议阅读 Firebase 文档,特别是 new data vs existing data 部分。

    【讨论】: