Secure Firebase Database Permissions
安全的 Firebase 数据库权限
描述
Firebase Realtime Database 规则决定了谁对您的数据库具有读写访问权限、您的数据如何结构化以及存在哪些索引。
不安全的数据库权限是一个常见问题,会导致对您的数据库的未经授权的访问。Firebase 提供了强制执行身份验证、授权甚至数据验证的工具。
以下是应避免的常见错误配置问题:
所有用户的读写访问权限:
{
"rules": {
".read": true,
".write": true
}
}
任何登录用户都对您的整个数据库具有读写访问权限:
{
"rules": {
".read": "auth !== null",
".write": "auth !== null"
}
}
Realtime Database 规则向下级联,较浅的父路径上的规则会覆盖较深的子节点上的规则。请记住,在子节点编写规则时,它只能授予额外的权限。您无法限制或撤销对数据库中较深路径的数据的访问权限。
{
"rules": {
"foo": {
// allows read to /foo/*
".read": "data.child('baz').val() === true",
"bar": {
/* ignored, since read was allowed already */
".read": false
}
}
}
}
建议
此条目是安全的,没有适用的建议。