【问题标题】:Firebase Ecosystem - Security and CostFirebase 生态系统 - 安全性和成本
【发布时间】:2018-04-03 14:45:46
【问题描述】:

在 Firebase 生态系统中,例如在 Cloud-Firestore 中,财务成本高度依赖于文档读取等因素。

  • 为了提高我们的成本,是否有任何东西可以保护我们免受攻击者直接向我们的 Firestore 发送大量读取请求(绕过我们的应用程序)?

  • Firebase 平台是否会以某种方式识别并过滤掉它,或者如果发生这种情况我们只需要付费?

澄清:假设我们的 Firestore 安全规则是这样的,即任何人都可以执行某些读取请求 (allow read;)。例如,考虑一个 HackerNews 类型的应用程序,任何人都可以在其中列出帖子(无需身份验证)

【问题讨论】:

  • 您是在谈论成功的读取请求还是只是尝试(并且失败/拒绝)读取。我不知道这是否会有所不同,但具体点可能会更好。
  • 我在考虑成功的读取请求,但是知道成功和不成功读取请求的答案会很有趣。

标签: firebase google-cloud-firestore


【解决方案1】:

Cloud Firestore 旨在让您在不​​因过载而中断的情况下进行扩展。我们确实允许您使用 App Engine 每日支出限额设置 daily spending caps,这有助于防止意外的失控成本。

还有一些其他策略可以帮助控制这一点,例如使用 Firebase 身份验证并要求用户登录,或在服务器端呈现只读结果。

【讨论】:

  • 您能否详细说明“在服务器端呈现只读结果”?
  • 我刚刚发现我因使用 Firebase 控制台而被收费。我过滤并 bam,额外的 7000 次读取。