2017-02-28 62 views
2

在強大的SQL背景之後首次使用firebase。我習慣於使用像addslashes()這樣的函數來將用戶輸入清理成查詢。Firebase的SQL注入版本

是否有任何使用Firebase查找做類似事情的標準方法?

例如:

// expected a key, not a path 
var userProvidedKey = "3/malicious" 

// will not be a ref to what I expect 
var ref = firebase.database().ref(`something/${userProvidedKey}`) 

我不知道它是如何惡意可以是用戶對於能夠在裁判再往下搜索,但也許這個問題就解決了?或者我需要.split('/').shift()我收到的任何輸入?

注意:使用JS SDK作爲我的示例。

回答

1

在進入數據庫之前,輸入/輸出應始終進行消毒和驗證。

Firebase提供securitydata validation checks用於您的應用程序。 Firebase還在其數據庫中提供規則以確定哪些用戶對數據庫中的哪些數據具有寫/讀訪問權限。

欲瞭解更多信息,請閱讀關於Firebase實時數據庫的documentation

發現此線程Adding Firebase data, dots and forward slashes可能會回答關於Firebase特定環境衛生的一些實際問題。

+0

鏈接的線程正是我正在尋找的。 – funkju