在Firebase中的一个项目中有2个应用程序。 我通过搜索Firebase尝试了不同的规则,但是它们导致了问题或无法正常工作。
我在项目中设置的规则如下:
{
"rules": {
".read": "auth != null",
".write": "auth != null",
"DriversOnline":{
".indexOn":["g"],
},
"Requests":{
".indexOn":["driver"]
}
}
}
我收到的来自Firebase的电子邮件指出:
[Firebase]您的实时数据库'project_name'具有不安全的规则
我们已检测到您的安全规则存在以下问题: 任何登录的用户都可以读取您的整个数据库 任何登录的用户都可以写入您的整个数据库
没有严格的安全规则,拥有数据库地址的任何人都可以对其进行读写,从而使您的数据容易受到攻击者窃取,修改或删除数据以及创建昂贵的操作的攻击。</ p>
我不确定我还能做什么,因为我希望该应用程序能够读写数据库。
有什么想法吗?
答案 0 :(得分:1)
如果将用户照片和文件放在{uid} / ...下,则可以像这样保护路径:
{
"rules": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid",
}
}
}
不一定要扎根,您可以为其他路径设置其他规则。