【发布时间】:2019-12-19 14:03:52
【问题描述】:
Firebase Firestore prevent client side creation of fields in a document
根据上面的链接,这个问题以前有人问过,但没有正确回答。
我似乎无法弄清楚如何防止用户将垃圾数据上传到文档中的随机字段名称。尽管在您的“架构”中执行有关现有字段的规则很容易,但我还没有发现任何可以阻止用户更新文档的内容
const payload = {
random123: 5,
anotherRandom123: 5
}
我知道可以计算字段的总数并限制这些字段,但是,如果文档碰巧没有填充每个字段,您仍然可以写入垃圾数据。您甚至可以使用 in 运算符和列表函数检查某些字段名称。我能想到的唯一方法是强制文档始终填充您可能需要的所有字段,强制执行静态数量的字段,然后检查以确保每个字段名称都存在/正确。
如果文档有可选字段,这将不起作用。
这可能吗?解决这个问题的最佳方法是什么?
【问题讨论】:
-
您是说要编写文档,但并非所有字段都填充在预定义的键中,并且仍然检查写入的字段是否来自预定义的键?
-
@ked 是的,这是正确的!
标签: firebase google-cloud-firestore firebase-security