1

我一直在使用Firebase很长一段时间,但我现在才决定真正考虑安全规则。auth安全性如何?== null? Firebase

我的问题是,“auth!== null”有多安全?是的,我意识到这意味着只有经过身份验证的用户才可以访问数据,但是通过身份验证有多容易?有人可以注册该应用程序,然后使用这些凭据将GET请求直接加入到我的数据库中吗?

就像我说的,我是新来的安全规则,所以我很抱歉,如果这是一个明显的问题。

这里是我的安全规则:

{ 
    "rules": { 
    "Users": { 
     "$user_id": { 
     ".write": "$user_id === auth.uid", 
     ".read" : "auth !== null", 
     "shoofers" : { 
      ".write" : "auth != null" 
     } 
     } 
    } 
    } 
} 

谢谢!

Neil

回答

3

用户可以通过匿名身份验证,电子邮件/密码,各种OAuth提供商和电话号码登录。您可以启用/禁用其中任何一个。上面的根规则允许通过任何已声明的机制只读访问任何已通过身份验证的用户,并将指定用户的访问权限写入其自己的数据。伪造登录非常困难。数据库将始终检查请求是否具有ID令牌(当auth不为空时)。身份证令牌使用公钥密码系统,如果没有私钥,就很难伪造。

1

您可以在登录身份验证或无身份验证后为用户授予对数据库的访问权限。 但它是良好的,安全的,以允许用户使用安全认证规则,认证

访问你的数据库是

{ 
    "rules": { 
    ".read": "auth != null", 
    ".write": "auth != null" 
    } 
} 

,无认证

 { 
    "rules": { 
    ".read": "auth == null", 
    ".write": "auth == null" 
    } 
}