gpt4 book ai didi

javascript - 独有 IP 写入权限 Firebase 合集

转载 作者:行者123 更新时间:2023-11-29 17:10:30 24 4
gpt4 key购买 nike

假设我有一系列文章:

https://example.firebaseio.com/articles/$key

我想给 articles 添加一个 viewCountercurrentUsersCounter child 。

https://example.firebaseio.com/articles/$key/viewCounter
https://example.firebaseio.com/articles/$key/currentUsersCounter

只要用户滚动到下一篇文章,我就会执行一个函数:

var currentArticle = function(key){
//key == index of the article
//This is where I want to increment the `viewCounter` and `currentUsersCounter`
}

很明显,除了那两个 child ,我不想让任何人写更多的东西。

  • 如何将目前(将所有写入列入黑名单)的安全规则扩展为仅针对这些特定集合的写入列入白名单?

  • 我如何在这些白名单集合的安全规则中限制对唯一 IP 地址的写入? (如果可能)

当前将所有写入列入黑名单:

{
"rules": {
".read": true,
".write": "auth.email == 'example@gmail.com'"
}
}

最佳答案

您不能以保护数据完整性的方式执行此操作(即确保计数实际上是准确的),因为如果您授予对这些字段的写访问权限,则客户端可以写入它想要的任何值.

但是,您可以通过在安全规则中使用变量,只为那些特定的子级提供精细的读/写访问权限:

{
"articles": {
"$key": {
"viewCounter": {
".write": true,
".validate": "newData.isNumber() && newData.val() == data.val() + 1"
},
"$other": {
".write": "auth.email == 'example@gmail.com'"
}
}
}
}

无法根据 IP 地址进行任何过滤。您需要使用来自受信任服务器代码的 secret 来按照评论中的建议执行此操作。

关于javascript - 独有 IP 写入权限 Firebase 合集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975830/

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