【问题标题】:Firebase rules security warningFirebase 规则安全警告
【发布时间】:2019-08-18 19:44:32
【问题描述】:

我在 Firebase 中收到以下消息:

您项目的 Cloud Firestore“(默认)”数据库包含 不安全的规则。

但我有文档所说的规则,我没有看到任何其他选项。我想要的是任何人都可以阅读,而只是登录的用户可以编辑内容。

这些是我的规则:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read: if true;
      allow read, write: if request.auth.uid != null;
    }
  }
}

【问题讨论】:

    标签: firebase google-cloud-firestore firebase-security


    【解决方案1】:

    使用这些规则,任何身份验证用户都可以写入数据库中的所有文档,包括覆盖其他人创建的文档。您还允许每个人(无论他们是否经过身份验证)都可以读取数据库中的所有数据,这似乎比大多数应用程序需要的要广泛得多。虽然这些接近您可以开始使用的一些默认规则,但对于生产应用程序来说通常是不够的,这就是您收到警告的原因。

    您通常希望进一步锁定对数据库的访问。例如,您可能希望确保用户只能编写在特定字段中包含自己的 UID 的文档。这样一来,您将始终知道谁创建了文档,并可以使用它来控制对该文档的访问。

    如果您确定这是您的应用运行所需的最低数据访问权限,您可以disable the warning emails in the Firebase console。但如前所述,根据我的经验,这种类型的访问似乎比我通常在运行良好且受到良好保护的应用中看到的要广泛得多。

    【讨论】:

    • 你是对的,我选择允许用户在 Firebase 中匿名登录,正如我在另一个问题中发布的那样:stackoverflow.com/a/60426745/2636562 直到现在才记得这篇文章。感谢您花时间回答像我这样的新手用户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    • 2021-01-14
    • 2021-11-19
    • 2016-08-19
    相关资源
    最近更新 更多