【发布时间】:2020-08-22 17:00:28
【问题描述】:
我的 firebase 中有一个计数器,用于计算每个帖子中的点赞数。
var databaseRef = firebase.database().ref('/posts/').child(pid).child('likes');
databaseRef.transaction(function(count) {
所以在我将它插入到喜欢/postid/userid json 中之后,这将在帖子/喜欢中的每个喜欢中添加 +1。统计点赞数。
我为此制定了一个规则,允许每次计数 +1:
"likes": {
".write": "newData.isNumber() &&
((!data.exists() && newData.val() === 1) || newData.val() === data.val()+1)"
},
它可以避免某人一次在帖子中添加 1000 个赞,但不能保护某人运行一个像每秒一样插入 +1 的脚本……有什么解决方案吗?如何在 firebase 规则中保护计数器?
【问题讨论】:
-
在这里查看我的答案:stackoverflow.com/questions/37954217/…
-
假设您的问题是否正确,是您害怕用户同时发出请求多次喜欢同一个帖子?
标签: javascript firebase firebase-realtime-database firebase-security