2016-09-06 22 views
-1

我知道安全是我們的「TO-DO」列表的首要任務,我們都需要它,並且需要它。但是我不明白如果我不在我的Firebase數據庫中使用安全規則會發生什麼情況。如果我選擇不在我的Firebase數據庫中使用安全規則,會發生什麼情況?

目前,我正在開發一個應用程序,我做的方式,我還沒有實現安全規則與應用程序工作,所以.read.write正好被設置到true。用戶必須通過Facebook登錄才能發送請求。

我試圖執行安全規則來與應用程序一起工作,但我有一些錯誤,所以它真的很麻煩,如果它保持這種方式?有什麼方法可以發送「壞」請求?有什麼風險?

+2

Downvoters:請留下評論爲什麼你downvoted。事實上,離開數據庫不安全是一種不好的做法,這並不是一個壞問題。正如馬修所表明的:它可以很清楚地回答,這有助於每個人:包括將來可能會遇到這個問題的人。 –

回答

2

將write設置爲true任何發現您的應用URL的人都可能會刪除整個數據庫。他們可以改變任何他們想要的。 Android,ios或網站,沒有什麼是安全的,因爲他們能夠輕鬆找到URL。

+0

如果用戶登錄並且他擁有身份驗證,並且安全規則需要身份驗證和Facebook提供程序,是否仍可以完成? –

+0

取決於您的安全規則。如果他們只是設置爲true,他們不必登錄。 –

+0

上面編輯的評論 –

1

除了Mathew的回答,你還想考慮濫用你的數據庫。

誰知道你的數據庫的URL任何用戶都可以:

  • 任何數據寫入到數據庫。因此,通過轉儲數據,他們可以將您的數據庫推到配額上,並使您的應用程序無法用於您的實際用戶。

  • 將您的數據庫用於他們自己的用途。他們會吃掉你的帶寬配額。一旦您的配額消耗完畢後,您的應用可能會無法用於您的實際用戶。

以上適用於Spark和Flame計劃。如果您的項目採用計量計劃,惡意用戶可以提高使用率,從而提高您的賬單。

+0

有什麼方法可以讓別人通過我的應用獲取Firebase的網址? –

+0

是的。由於您的應用需要知道Firebase網址(以及API密鑰)才能訪問數據庫,因此任何使用您的應用的人都可以隱式訪問這些值。 –

+0

因此,根據安全規則,您可以阻止用戶在任何他想寫的地方寫信,只允許他訪問「他的」信息,這些信息也可能有一些驗證規則,這是什麼使系統安全的權利? –

0

您的Firebase規則通常可幫助您處理服務器端安全問題。並確保您的數據安全並防止數據庫受到惡意用戶的攻擊。 因此,對用戶進行身份驗證並不能保護您的數據庫。 所以如果你沒有規則,你可能會失去所有的數據。經過身份驗證的用戶可以簡單地使用代碼「ref.remove()」的單行代碼,並且中提琴數據庫中的所有數據變得如此簡單。 因此,請始終確保您編寫安全規則,以確保您的Firebase數據庫安全。

相關問題