所以,我参与了Firebase安全规则。有一个安全漏洞我还没弄到如何解决。可以说我有以下结构。在创建新的“组”时,我还将$ refId放在实际创建组的用户的“组”部分中。假设“John Doe”创建了一个组,组ID也被添加到他的组列表中。我的规则是,只有John Doe可以编辑该组,因为它在他的组列表中。
但是如果Jane Doe验证并将组ID添加到她的组列表中,她也可以编辑该组。我该如何解决这种情况?
我是否还需要每组中有可能编辑该组的用户ID列表?或者可能首先创建一个空组并有一些安全规则,说明如果它是空的,你只能将组ID添加到列表中,之后用数据填充组?解决这个问题的最佳方法是什么?
users: {
"$uid": {
name: "John Doe",
groups: {
"$refId": true,
"$refId": true
}
},
"$uid": {
name: "Jane Doe",
groups: {
"$refId": true
}
}
},
groups: {
"$refId": {
title: "Group 1"
},
"$refId": {
title: "Group 2"
}
}