当前位置: 首页 > 知识库问答 >
问题:

Firebase-您的实时数据库存在不安全规则警告

缪远航
2023-03-14

我有一个使用Firebase实时数据库的网站。它通常会向我发送关于不安全规则警告的电子邮件。我在这里和Firebase Documantation搜索过这个,但当我写其他规则时,它给了我这样的错误:

错误保存规则-第10行:字符串不能包含 ".", "#", "$", "/", "[", 或"]"

{
  // Allow anyone to read data, but only authenticated content owners can
  // make changes to their data

  "rules": {
    "some_path/${uid}": {
      ".read": true,
      // or ".read": "auth.uid != null" for only authenticated users
      ".write": "request.auth.uid == uid"
    } SHOWS ME ERROR IS HERE.
  } 
}

我现在使用这个规则:

{
  "rules": {
    ".read": true,
      ".write": false
  }
}

这里有一张图片,我尝试了另一种叫做混合公共和私人访问的规则。

如果有人能帮助我,我将非常高兴。

共有1个答案

仇炜
2023-03-14

引用子资源的语法似乎不正确,请检查下面的语法以达到所需的效果

{
  "rules": {
    "some_path": {
      "$uid": {
        ".write": "$uid === auth.uid"
      }
    }
  }
}

https://firebase.google.com/docs/database/security

 类似资料:
  • 我在中收到一条消息,告诉我我的项目有不安全的规则。但当我检查它时,我不太明白什么是不安全的。 它显示如下: 我保留了读取访问权限,因为它支持一个网站。所以任何访问该网站的人都应该能够读取数据。 至于写权限,据我所知,我是唯一能写的人。 请注意,我还有第三个系列(CollectionThree),规则中没有提到。这可能是原因吗? 除此之外,我还可以想象,只有web服务器可以获得读取权限,以便将内容提

  • 我创建了一个应用程序,它使用Firebase实时数据库。我对安全规则有一个很大的问题。我的用户不需要登录使用应用程序,他们可以发送数据到数据库,无需任何身份验证。例如:这是一个简单的游戏,他们可以互相玩,然后他们可以保存分数。我想创建一个安全的数据库,但是任何人都可以写

  • 最近我收到了一系列Firebase通知,涉及: [Firebase]您的Cloud FiRecovery数据库有不安全的规则 我们检测到您的安全规则存在以下问题:任何用户都可以写入您的整个数据库。因为您的项目没有强大的安全规则,任何人都可以访问您的整个数据库。攻击者可以窃取、修改或删除您的数据,并会抬高您的账单` Edit2:我需要的是允许每个人都写,而不需要登录,但是只有管理员帐户应该能够从Fi

  • 好的,我有一个实时数据库连接到一个应用程序,直到今天规则(读写)都设置为真,一切都很好。。。。但每次有消息说 您的安全规则定义为public,因此任何人都可以窃取、修改或删除数据库中的数据 我尝试了几件事,但没有访问数据。。。只有当规则设置为true时,才能访问数据 但有没有办法修改规则,使其更安全 我希望只有少数已知的应用程序(我的应用程序)可以访问此数据

  • 我在Android Studio中创建了一个应用程序,并将其与Firebase实时数据库链接。我需要执行3次验证: > 由Firebase通知服务生成的一次性PIN和手机验证。 在下一个屏幕上,用户的pin会根据我的数据库进行检查,最后他会进入菜单屏幕。 现在,我不知道应该设置什么作为我的安全规则,因为身份验证是在第2步进行的,所以我不能使用“auth”来设置规则,如果没有“auth”,数据库将是

  • 我需要一些帮助来保护我的数据库。 我的数据库如下所示(我使用的是电话号码,而不是uid): 如您所见,在用户节点下有经过身份验证的用户的电话号码。我的目标是保护数据库,这样用户就可以读写自己的数据。 我尝试了以下代码,以允许每个用户读取和写入自己的数据: 但每当我在规则游乐场或我的应用程序上尝试这一点时,我都会被拒绝: 你们能帮我解决吗?