首页 > 解决方案 > 为公共访问创建第二个 Firebase 项目是否更安全?

问题描述

我有一个使用 Flutter 开发的 Agro App 和一个 Firebase RTDB 项目。从该数据库中,我想向公众提供网络访问权限,以便任何人都可以看到(而不是写)有关所生产食物来源的某些信息。

然后,我想实现以下选项之一:

  1. 使用同一个数据库:在我的数据库中使用公共安全规则实现一个新位置
{
  "rules": {
    "newlocation": {
      ".read": true,
      ".write": false
    }
  }
}

这样做安全吗?我的数据库的其余部分是否存在风险?

或者

  1. 创建一个可公开访问的新 Firebase 项目。

是否可以在同一个 App 中写入两个 Firebase 项目?是否易于实施和维护?

您认为哪种选择更安全、更清晰?

标签: firebasefirebase-realtime-databasefirebase-security

解决方案


这通常会起作用,但我会犹豫是否提供对整个数据库的读取访问权限。您可以限制对特定路径的读取访问。请参阅文档https://firebase.google.com/docs/database/security中的示例

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

如果您仍然担心潜在的损失,请利用 firebase 的自动备份,以便您始终拥有数据库的新副本。


推荐阅读