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" 
    } 
}