【问题标题】:How to limit the writes in firestore [duplicate]如何限制firestore中的写入[重复]
【发布时间】:2021-08-05 07:50:54
【问题描述】:

我希望允许用户在最后一次发布后每 3 小时发布一次博客。我不希望我的每日免费计划限制被 Firestore 中的垃圾邮件写完。我应该如何开始。我正在使用 redux、react、firestore。目标是如何启动我的代码和逻辑

【问题讨论】:

  • 将博客存储到 Firestore 时,为什么不包括存储的日期和时间?然后,在存储博客时,首先检查用户是否在过去 3 小时内发布过任何内容……如果没有,则允许他们发布!

标签: reactjs firebase redux google-cloud-firestore spam


【解决方案1】:

您应该使用 Firestore 规则来确保 100% 的安全。 Puf 对你的问题有很好的回答here

如果您允许对特定用户进行写入,我建议使用 users/writetimes/{userUid} 下的 firebase 函数保存他创建最后一篇文章的时间,并在再次写入时检查用户最后一次timestamp 是否超过 3 小时前。

类似这样的:

match /users/{document=**} {
  allow create: if isCalm();
  function isCalm() {
    return request.time > get(/databases/$(database)/documents/users/writetimes/$(request.auth.uid)).data.timestamp + duration.value(3, 'h');
  }
}

【讨论】:

    猜你喜欢
    • 2023-03-09
    • 2019-12-23
    • 2018-03-19
    • 1970-01-01
    • 2018-04-24
    • 2019-05-16
    • 2019-08-21
    • 2020-01-30
    • 2019-10-29
    相关资源
    最近更新 更多