gpt4 book ai didi

firebase - 如何防止用户在 Firebase 中欺骗用户名?

转载 作者:行者123 更新时间:2023-12-02 19:25:42 24 4
gpt4 key购买 nike

如何防止用户通过使用有效的身份验证 uid 但错误的“用户名”向 Firebase 发布内容来欺骗用户名?

我可以只存储 UID,但随后我必须让客户端始终查找所有 UID。如果我能以某种方式确保指定的用户名与登录用户的用户名相同,那就太理想了。

理想情况下,我会制定如下规则:

{
"rules": {
"chat":{
"messages":{
".read":true,
".write":true,
"$message":{
".read":true,
".write":true
".validate": "newData.child('name').val() == auth.facebook.displayName"
}
}
}
}
}

但是 auth 变量不包含用户名。

最佳答案

在大多数此类情况下,开发者会将所有用户的完整信息存储在 Firebase 中的 /users 节点下。例如

/
users
twitter:478645678
username: "puf"
displayName: "Frank van Puffelen"
chat
messages
-J328764236789
author: twitter:478645678
name: "puf"
message: "Hello world"

使用此结构,您可以将用户名交叉引用到 /users/<uid>/username :

".validate": "newData.child('name').val() == root.child('users').child(auth.uid).child('username').val()"

关于firebase - 如何防止用户在 Firebase 中欺骗用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29808795/

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