我一直在阅读 Firebase 实时数据库安全规则指南 (https://firebase.google.com/docs/database/security),我有点困惑是否应该将 Firebase Auth 生成的 UID(假设我的应用程序用户使用 Facebook 来验证自己)保密?我有这样的数据结构:
那么,如果某个恶意黑客掌握了一些UID,他是否能够读取/写入个人用户的数据呢?据我所知,如果有人知道 UID,他/她可以设置请求并假装通过该用户的身份验证吗?或者我在这里遗漏了什么?
非常感谢!
不需要,可以在规则中的auth.uid下检索uid。这是服务器端。以此规则为例:
"users": {
"$uid": {
".read": "$uid === auth.uid", <--------------------------------
"online": {
".read": "auth != null",
".write": "$uid === auth.uid"
},
箭头表示我指的那条线。如果您获取了其他人的 UID,也没关系,因为当您尝试使用该规则检索数据时,由于不匹配,该操作将会失败。 auth.uid 是服务器端的,据我所知,受到了很好的保护。他可以更改自己的 UID 客户端并尝试检索数据,但通过安全规则,您可以阻止数据交换。
一切都与您定义的规则有关。当您在箭头处定义规则时,您不必担心。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)