Firebase says that my rules are insecure, why?(Firebase说我的规则不安全,为什么?)
问题描述
我收到一封来自Firebase的电子邮件,通知我我的安全规则不安全,理由是:任何用户都可以读/写您的数据库。
怎么会这样,我已经在下面指定了.read
和.write
规则。我错过了什么?如果有任何帮助,我们将不胜感激。
{
"rules": {
".read": "auth != null",
".write": "auth != null",
"venues-location": {
".indexOn": "g"
},
"users-compliments": {
"$uid":{
"$uid":{
".indexOn": ".value"
}
}
},
"users-invites": {
"$uid":{
"$uid":{
".indexOn": ".value"
}
}
},
"users-location": {
".indexOn": "g"
}
}
}
推荐答案
".read": "auth != null",
".write": "auth != null",
以上规则为默认规则。根据Firebasedocumentation的说法,它们允许通过身份验证的应用程序用户具有完全的读写访问权限。如果您希望向应用程序的所有用户开放数据,但不希望数据向全世界开放,则它们非常有用
在启动应用程序之前正确配置这些规则至关重要,以确保您的用户只能访问他们应该访问的数据。
{
"rules": {
"foo": {
".read": true,
".write": false
}
}
}
以下是向经过身份验证的用户授予/USERS//写访问权限的规则示例,其中是通过Firebase身份验证获得的用户ID。
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}
这篇关于Firebase说我的规则不安全,为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!