在 Firebase 实时数据库编辑器中执行规则
Enforce Rules in Firebase Realtime Database Editor
概述
在 Firebase 中使用实时数据库时,我能够编辑和绕过规则。我知道这在某些情况下很方便,但我也想将规则应用于手动提交的数据。
例子
这是最简单的写入规则,可以禁止在任何地方写入。使用规则模拟器,我无法像预期的那样编写。
但是,即使我保存了规则,我仍然可以在我的数据库中写入。
今天是我使用 Firebase 规则的第一天。我是否对规则感到困惑,或者在手动编辑器中没有禁用绕过规则的选项?
您将能够从控制台手动写入数据库(没有选项),但是使用上面的规则 ".write": "false"
,这意味着最终用户将无法写入数据库。
手动添加到数据库的人,通常是管理员。这就是为什么即使它是 write:false
它仍然会添加到数据库中。
但是如果你有这个:
Class
randomid
Keys:values
然后将在他的 phone 中创建 class 的用户将无法向数据库发送数据,因为 write:false
即使你有这个:
{
"rules": {
".read": "false",
".write": "false",
}
}
您仍然可以在控制台中看到数据,但最终用户将无法读取或写入数据库。
删除最后一个逗号。
{
"rules": {
".read": "false",
".write": "false"
}
}
并发布更改,而不是测试。
注意您无论如何都可以添加值,因为您拥有该数据库并从控制台使用它。如果您从 SDK(Android、iOs、Node 等)使用它,您将无法写入数据。
概述
在 Firebase 中使用实时数据库时,我能够编辑和绕过规则。我知道这在某些情况下很方便,但我也想将规则应用于手动提交的数据。
例子
这是最简单的写入规则,可以禁止在任何地方写入。使用规则模拟器,我无法像预期的那样编写。
但是,即使我保存了规则,我仍然可以在我的数据库中写入。
今天是我使用 Firebase 规则的第一天。我是否对规则感到困惑,或者在手动编辑器中没有禁用绕过规则的选项?
您将能够从控制台手动写入数据库(没有选项),但是使用上面的规则 ".write": "false"
,这意味着最终用户将无法写入数据库。
手动添加到数据库的人,通常是管理员。这就是为什么即使它是 write:false
它仍然会添加到数据库中。
但是如果你有这个:
Class
randomid
Keys:values
然后将在他的 phone 中创建 class 的用户将无法向数据库发送数据,因为 write:false
即使你有这个:
{
"rules": {
".read": "false",
".write": "false",
}
}
您仍然可以在控制台中看到数据,但最终用户将无法读取或写入数据库。
删除最后一个逗号。
{
"rules": {
".read": "false",
".write": "false"
}
}
并发布更改,而不是测试。
注意您无论如何都可以添加值,因为您拥有该数据库并从控制台使用它。如果您从 SDK(Android、iOs、Node 等)使用它,您将无法写入数据。