用于防止 create/delete 不起作用的 Firebase 实时数据库安全规则
Firebase Realtime Database Security Rules for prevent create/delete not working
我在几个地方看到,防止创建和删除的方法是 data.exists() && newData.exists()。但是当我在这些规则中实现它们时,我仍然可以在登录时根据自己的喜好创建和删除。我做错了什么?我的目标是让经过身份验证的用户更新,但不能创建或删除。
"rules": {
"listings": {
".read": true,
".write": "data.exists() && newData.exists() && auth != null",
},
}
我的猜测是您希望允许用户更新特定列表,而不是一次更新所有列表。
在这种情况下,您应该在每个特定列表中定义 .write
规则:
"rules": {
"listings": {
".read": true,
"$listingid": {
".write": "data.exists() && newData.exists() && auth != null",
}
},
}
因此,用户可以更新任何现有列表,但不能同时更新所有列表。
我在几个地方看到,防止创建和删除的方法是 data.exists() && newData.exists()。但是当我在这些规则中实现它们时,我仍然可以在登录时根据自己的喜好创建和删除。我做错了什么?我的目标是让经过身份验证的用户更新,但不能创建或删除。
"rules": {
"listings": {
".read": true,
".write": "data.exists() && newData.exists() && auth != null",
},
}
我的猜测是您希望允许用户更新特定列表,而不是一次更新所有列表。
在这种情况下,您应该在每个特定列表中定义 .write
规则:
"rules": {
"listings": {
".read": true,
"$listingid": {
".write": "data.exists() && newData.exists() && auth != null",
}
},
}
因此,用户可以更新任何现有列表,但不能同时更新所有列表。