Firebase Realtime Database规则安全疑问:谷歌警告是否有误?
你的判断没错,谷歌的警告属于泛化提示
针对你提供的Realtime Database规则,逐一分析权限范围:
- items节点:写入权限仅开放给满足
root.child('users').child(auth.uid).child('roles').child('admin').val() == true的用户,也就是只有在users节点下自身UID对应的roles里admin字段为true的认证用户才能写入,并非所有认证用户都有写入权限。 - users节点:直接设置
.write: false,意味着任何用户(包括认证用户)都无法写入该节点。
谷歌的安全警告大概率是规则扫描工具的泛化判断——因为规则中用到了auth.uid,工具可能默认关联到“认证用户可写入”的场景,但没有识别到你额外添加的admin角色校验逻辑。
你可以通过实际测试验证:用一个没有admin角色的认证用户尝试写入items节点,会被规则拒绝,只有配置了admin权限的用户才能成功写入。
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

