我在数据库中有一个文件夹user/user 1我想在其中写入名称和电话我正在使用in rules playground测试此操作
location = /user/user1
数据(JSON)
{
"name": "value",
"phone": "value"
}
规则
"user":{
"$uid":{
".read": true,
".write": true,
".validate" : "newData.child('name').exists() && newData.child('phone').exists() "
}
}
这和我预期的一样。如果我只输入名字,它会被拒绝。所以这很好,现在我想如果有第三个值也会被拒绝:
{
"name": "value",
"phone": "value",
"data": "value"
}
这里是一个安全问题。如果任何人添加一个随机值到这个位置,然后我会得到一个大法案从firebase。我害怕这个,或者我只是得到偏执?
1条答案
按热度按时间6xfqseft1#
这听起来像是您想要禁止,您可以通过命名允许的属性,然后使用所谓的通配符捕获所有变量来拒绝任何其他属性:
另请参阅我对Firebase realtime database rules to edit only existing fields的回答,其中涵盖了类似的注意事项