使用Firebase安全规则,我如何防止用户多次采取行动(例如,对帖子进行投票)



我正试图在用户提交的"帖子"上创建一个类似Reddit/Hacker News的投票系统。我不想让用户为同一个帖子投票不止一次。防止用户使用Firebase的安全API进行此操作的最佳方法是什么?

一种方法是为每个帖子指定一个位置,然后为喜欢该帖子的用户ID指定子对象。例如CCD_ 1和CCD_。

然后,您可以有一个.validate规则,当尝试将一个新的类添加到列表中时,首先检查https://<you>.firebaseio.com/posts/<post_id>/likes是否已经有了该子项。因此,规则看起来像:(注:未测试)

"likes": {
  ".validate": "!data.hasChildren([newData.val()])",
},

(很高兴听到是否有更好的方法!)

相关内容

  • 没有找到相关文章

最新更新