如何设置安全规则以防止在firebase中删除数据?

POP*_*VER 3 javascript json firebase firebase-security firebase-realtime-database

我的firebase结构如下:

"ROOT": {
  "Group": {
    "User": {
      "Name": "",
      "Email": "",
      "Gender": "",
      "Mobile": "",
      "Time": ""
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何阻止用户直接从客户端浏览器检查器运行ref.remove(),这将删除所有数据而没有任何提示?

我想允许客户端脚本运行firebase操作

  1. 添加/更新数据到/ ROOT /,我的意思是,添加更多"Group"子节点,如Group2,Group3 ......,但不能删除此节点.
  2. 并在/ ROOT/Group /下添加数据,以及更新和删除

如何设置安全规则?谢谢.

Dav*_*ast 6

看看博尔特!

Bolt是Firebase的架构验证工具.

所以,你可以定义你GroupUser架构,然后编写规则,以确保没有人谁没有被授权可以将其删除.

type User {
 Name: String;
 Email: String;
 Gender: String;
 Mobile: String;
 Time: Number;
}

path /group/$groupid {
  read() = true;
  write() = this != null; // don't delete existing data
}

path /group/$groupid/user/$uid is User {
  read() = true;
  write() = this != null; // don't delete existing data
}
Run Code Online (Sandbox Code Playgroud)

现在,您只需要从命令行生成安全规则,或使用Firebase CLI上载它们.Bolt尚未在仪表板中提供支持.如果需要,您还可以将生成的规则复制并粘贴到仪表板中.