2015-12-28 42 views
0

我想知道Firebase是否受到'scriptkiddies'的保護。例如:如果我知道Firebase實例(從我在線教程中看到的內容),則可以在我的瀏覽器中從我的控制檯向Firebase存儲添加內容。firebase安全層和操作(javascript)

var fbinst = new Firebase("https://nettuts-chat-application.firebaseio.com/")  
for(var i=0,l=1000;i<l;i++){fbinst.push({comment:'lol'})} 

這怎麼能避免?保護..

回答

1

Security Rules.

火力地堡安全規則是控制訪問您的火力地堡數據庫服務器端的表現。

安全規則帶有一個服務器變量集,允許您檢查服務器值。 auth變量包含當前已通過身份驗證的用戶,如果沒有,則爲null

在下面的示例中,只有經過身份驗證的用戶才能讀取和寫入他們自己的數據。

{ 
    "rules": { 
     "$uid": { 
     ".read": "auth.uid == $uid", 
     ".write": "auth.uid == $uid" 
     } 
    } 
} 

安全規則允許您與data可變的讀取當前的數據,並與newData未遂數據。

"posts": { 
    "$post_id": { 
     ".read": "data.child('uid').val() == auth.uid", 
     ".write": "newData.child('uid').val() == auth.uid", 
    } 
} 

您還可以使用.validate規則驗證數據結構。

"posts": { 
    "$post_id": { 
     ".read": "data.child('uid').val() == auth.uid", 
     ".write": "newData.child('uid').val() == auth.uid", 
     ".validate": "newData.hasChildren(['uid'])" 
    } 
} 
+0

謝謝大衛! – Barry