2014-02-16 80 views
1

我一直在做一些關於安全令牌和Firebase JS的研究,但是我已經準備好了一些衝突的信息,所以我會直接問我的問題。是否可以使用Javascript處理與Firebase的安全會話?實踐中,我正在創建一個小型網頁遊戲,它將依靠Firebase來同步每個客戶端,並且我很想知道安全地完成此過程的過程。Firebase JS安全驗證

回答

1

這取決於您如何定義「安全會話」。這裏有兩個問題。

  1. 傳輸級安全性:Firebase JS客戶端通過HTTPS與服務器進行通信。此外,Firebase還有一個安全規則系統,可讓您指定哪些客戶端可以讀取和寫入哪些數據。

  2. 應用程序級別完整性:但是,客戶端可以自由地進行授權的任何更改,即使它們是由您的JS代碼觸發的而不是。例如,在網頁中,我可以打開開發人員控制檯並使用Firebase API進行不屬於網頁邏輯的數據更改。

要解決後者,您需要一個服務器,您可以在其中運行受信任的代碼來執行遊戲狀態。例如,客戶在遊戲中所做的每一個動作應首先放入「未決」隊列中。服務器進程應該監視所有待處理的更改,驗證它們並將它們移動到「最終」遊戲狀態位置,這將是權威的遊戲狀態。

+0

請注意,所有類型的遊戲都不需要複雜的邏輯來保證服務器進程。我們有一個完全客戶端的俄羅斯方塊的例子:https://www.firebase.com/tutorial/#example/tetris – Anant