我一直在阅读Firebase实时数据库安全规则指南(https://firebase.google.com/docs/database/security),如果我保留Firebase Auth生成的UID,我会有点困惑(假设我的App用户使用Facebook认证自己)秘密?我有这种数据结构:
因此,如果某些恶意黑客获取某些UID,他是否能够读取/写入个人用户的数据?据我所知,如果有人知道UID,他/她可以设置一个请求并伪装成该用户进行身份验证吗?或者我在这里遗漏了什么?
非常感谢!
答案 0 :(得分:1)
不,可以在规则中的auth.uid下检索uid。这是服务器端。以此规则为例:
"users": {
"$uid": {
".read": "$uid === auth.uid", <--------------------------------
"online": {
".read": "auth != null",
".write": "$uid === auth.uid"
},
箭头表示我的意思。如果你有其他人的UID并不重要,因为当你尝试使用该规则检索数据时,它会因为不匹配而失败。 auth.uid是服务器端,据我所知,受到很好的保护。他可以更改自己的UID客户端并尝试检索数据,但是使用安全规则可以阻止数据交换。
这完全取决于您定义的规则。当您在箭头处定义规则时,您不必担心。