gpt4 book ai didi

javascript - 防止用户独立于 addPost 调用 Firebase 中的incrementPostCount函数

转载 作者:行者123 更新时间:2023-12-01 02:26:55 25 4
gpt4 key购买 nike

假设我的 firebase 数据库中有这 2 个字段。

user: {
postCount: 2
posts: [
{title: hello, content: world},
{title: hello again, content: world}
]
}

我希望用户有权更新他的帖子。但我不希望他能够更新他的帖子数。我希望帖子计数始终代表帖子数量并防止用户作弊。

如何在 firebase 中执行此操作?只用前端javascript可以吗?如果不是,那么需要最少服务器端代码的选项是什么?

这是我正在使用的代码,但它并不能防止用户作弊,并且只能无限次地自行调用增量函数。

const push = (objectToInsert, firebasePath) => {
const key = firebase.database().ref().child(firebasePath).push().key
let updates = {}
updates[firebasePath + key] = objectToInsert
firebase.database().ref().update(updates)
}

const increment = (firebasePath) => {
const ref = firebase.database().ref(firebasePath)
ref.transaction( (value) => {
value++
return value
})
}

push(post, `/${user}/${posts}/`)
increment(`/${user}/${postCount}`)

最佳答案

向您推荐 Firebase 规则:

https://firebase.google.com/docs/database/security/#section-authorization

您可以根据安全设置为每个用户属性设置规则并保留您提到的结构,或者将计数移动到另一个节点并设置规则(例如 user_post_counts)。

关于javascript - 防止用户独立于 addPost 调用 Firebase 中的incrementPostCount函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48705745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com