所以我想要的最后一件事是访问数据库的任何人都不应该这样做。我的应用程序上的用户创建了一个帐户,该帐户在我的数据库中有一个密钥和子项(一个易于访问的用户配置文件),它还创建了一个身份验证帐户。数据库规则规定只有经过身份验证的用户才能访问数据库。经过身份验证的人是否有可能以某种方式访问数据库的其余部分(通过黑客攻击)?这是我的第一个使用firebase的应用程序,我想确保用户信息受到保护。
答案 0 :(得分:1)
取决于您的规则。
如果规则是:
// These rules require authentication
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
此类规则允许对您应用的经过身份验证的用户进行完全读写访问。换句话说,经过身份验证的用户可以访问数据库中的所有数据而无需任何黑客攻击。
如果您设置类似于此规则的内容:
{
"rules": {
"users": {
"$user_id": {
// grants write access to the owner of this user account
// whose uid must exactly match the key ($user_id)
".write": "$user_id === auth.uid"
}
}
}
}
它授予对此用户帐户所有者的写访问权限,但仅限于此数据。
这意味着您必须设置规则以获取数据中每个节点的所需结果。