我正在研究從Firebase database讀取的Android應用程序。應用程序用戶不會登錄或修改數據庫。所有應用程序用戶都將查看相同的數據;我正在使用Firebase實時更新功能。限制Firebase數據庫訪問一個Android應用程序
理想情況下,我想限制對數據庫的訪問,以便只有我的應用可以讀取數據。
我所知道的幾件事情我可以做的:
1.編寫安全規則,允許任何人閱讀,即
{
"rules": {
".read": true,
".write": false
}
}
缺點:任何人都可以閱讀:(
2.編寫安全規則allow authenticated users to read,然後將用戶名和密碼硬編碼到應用程序中
{
"rules": {
"$user_id":{
".read": "auth.uid === $user_id",
".write": false
}
}
}
Con:在應用程序中對用戶名和密碼進行硬編碼似乎非常錯誤。另外,它並沒有真正鎖定數據庫,因爲任何人都可以反編譯應用程序,抓取google-services.json
和硬編碼的用戶名/密碼,然後編寫他們自己的應用程序來共享我的軟件包名稱。
谷歌搜索顯示this,這是特定的寫作,和this,它說「不」,但是幾歲。
限制訪問數據庫的正確方法是什麼?我是否從錯誤的方向接近了這個?
你們聯繫的答案仍然是正確的:沒有辦法限制無需訪問您的Firebase數據庫即可訪問您的應用。 –
好的,謝謝@FrankvanPuffelen。 – Michiyo
你最終的選擇是什麼? – androfan