javascript - 如何限制用户在 firebase 实时数据库中每 15 分钟写一次帖子

标签 javascript firebase firebase-realtime-database

我正在使用 firebase 实时数据库。

我正在尝试限制用户只允许他们在发布最新帖子后至少 15 分钟后发布(这是为了防止帖子看起来像聊天)。

我将如何实现这一目标?

我尝试过的是,包括每个帖子的时间戳,并在用户尝试发布新帖子时计算与当前时间的时差。这可行,但如果用户删除了之前的帖子,则用户将能够立即再次发布。所以我需要一种不同的方法。

我可以实现什么算法?

谢谢圣诞快乐!

最佳答案

我的做法是这样的。要求客户端应用程序进行多位置更新,同时写入帖子和时间戳。时间戳将按用户存储,也将存储在帖子中。您可以在包含检查以下所有内容的帖子的节点上编写安全规则,以便写入成功:

  1. 每个用户的时间戳只用 ServerValue.TIMESTAMP 指定
  2. 每个用户的时间戳至少比现有值晚 15 分钟(或者,如果不存在,则跳过此检查)
  3. 帖子自己的时间戳也被指定为具有相同的值

关于javascript - 如何限制用户在 firebase 实时数据库中每 15 分钟写一次帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53919488/

相关文章:

javascript - 在 firebase 中使用带有 .on() 的 catch() 时出错

javascript - KeystoneJS 错误无法在 openshift 上安装

javascript - jQuery 克隆一个元素并更改子元素的属性以保持它们的唯一性

Firebase 身份验证 - 无法添加电话号码进行测试

firebase - 是否需要为 Firebase RemoteConfig 提供默认值?

javascript - Firebase 有时连接,有时不连接(React Native)

firebase - 在现有 Firebase 项目目录中初始化 firebase CLI 功能

ios - 如何从 Firebase 获取按时间顺序排列的最新帖子?

javascript - jQuery 点击函数找不到选择器

javascript - 下拉菜单不起作用