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

时间:2018-12-25 05:06:31

标签: javascript firebase firebase-realtime-database

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

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

我将如何实现?

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

我可以实现什么算法?

谢谢你圣诞快乐!

2 个答案:

答案 0 :(得分:1)

您可以创建一个新字段来存储用户的帖子

numpy

然后,每次用户创建新帖子时,您都可以使用postHistory查看。

答案 1 :(得分:1)

我会这样做的。要求客户端应用进行多位置更新,同时撰写帖子和时间戳。时间戳将按用户以及在帖子中存储。您可以在包含帖子的节点上编写安全规则,以检查以下所有条件是否为真,以使写成功:

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