最安全的方法:onChange 与 https 云函数

Safest approach: onChange vs https cloud functions

我想知道,我必须允许用户只更改文档的某些部分,我想出了两个不同的解决方案:

我想知道是否有任何更安全的方法或两者都以相同的方式有效。欺骗 https 功能有多容易?

在许多情况下两种方法都有效并且取决于偏好

来自更 传统 client/server 环境的人通常更喜欢 Cloud Function。这还允许您执行规则中不可能执行的某些操作,例如,您可以使用完整的服务器凭据执行任何操作。

对于 Firebase 来说,规则可能更惯用,而且可能更便宜、更快。也就是说,非常仔细地制定任何规则非常重要。您可以参考 documentation,这在这种情况下可能是相关的。

这里的建议是使用规则来防止不需要的更改,而不是允许所有者进行任何更改,然后在触发器中撤消它们。如果你想实现规则中无法完成的逻辑,你可以考虑允许所有者将更改写入某种临时区域,可以是同一文档中的单独字段,或新的待定文档,然后执行检查并将数据移动到其触发器中的正确位置。