在firebase中,我应该编写哪些安全规则以仅允许推送到对象

时间:2015-04-06 06:12:55

标签: security firebase firebase-security

我在root中有message对象,它只是字符串数组。 我想允许用户推送新对象。如果他们可以推送到root消息,他们应该拥有写入权限,这意味着他们可以轻松地用其他有效数据替换整个消息对象。我应该写什么样的安全规则来避免这种情况?

2 个答案:

答案 0 :(得分:6)

如果数据不存在,您可以编写规则以允许添加数据,但可以使用以下规则阻止数据被修改或删除。

".write": "!data.exists() && newData.exists()"

'data'变量是Firebase中的当前数据。如果允许写入,'newData'是结果数据。

有关详细说明,请查看Security & Rules API

答案 1 :(得分:5)

完整的规则定义应为

{
   "rules": {
        ".read": false,
        "feedback": {
            "$key": {
               ".write": "!data.exists()"
            }
        }
    }
}

这可让您推到/feedback位置。您可以自由选择变量名称$key