【发布时间】:2019-06-14 09:46:11
【问题描述】:
我的用户可以在子集合中创建文档(比如说任务),其中包含一组用于检查身份验证、权限和数据有效性的安全规则。他们甚至可以选择多个任务并将它们复制到同一个集合中。 现在,普通用户可能一次最多创建一百个任务,但是如果有恶意的人设法获取我的数据库凭据,进行身份验证并尝试以编程方式创建大量有效文档怎么办?这将导致 Firestore 扩展没有问题,并在我的 Firebase 计费中出现意外的惊喜。 这是我最关心的问题,但我也在考虑出于其他原因限制集合大小的可能性,同时这将是解决所描述问题的方法。
我阅读了 Firestore 文档中描述的对集合中的文档进行计数的技术,但我没有找到解决方案。 在我的情况下,使用云功能中的事务更新文档字段上的计数器将是低效的。分布式计数器稍微增加了我的数据模型的复杂性,而且我不知道如何在每个任务创建的安全规则中正确读取这些计数器,即使这将是一个有效的解决方案。
有人有建议吗?
【问题讨论】:
-
嗨,我在 firebase github.com/firebase/firebase-js-sdk/issues/1932 中创建了一个问题@
-
弗兰克在stackoverflow.com/a/56487579/4043295 上发布了关于此问题的问答。您可能会在这里找到对您的用例有帮助的答案。
标签: firebase google-cloud-firestore