2017-04-14 27 views
0

我想知道是否可以將數據發送到僅用於驗證而不用於保存的firebase數據庫。 例如,如果我發送{「myauth」:「abc123」},驗證規則將僅檢查newdata.child(「myauth」)。equals(「abc123」)並且未保存到數據庫。像Firebase數據庫發送信息僅用於驗證而不用於保存在數據庫中

{ 
    "rules": { 
    ".validate": "newData.child('myauth').val() === 'abc123'", 
    ".read": true, 
    ".write": true  
    } 
} 

所以每當我一個數據發送到節點,即要寫入,驗證將檢查孩子myauth如果值等於「ABC123」只有再往前走,與寫操作,但不將myauth變量保存到數據庫中。我知道將數據保存到數據庫是一個簡單的解決方法,但這可能嗎?

回答

0

沒有實際的寫操作,沒有辦法觸發.write規則。但是,如果你只是聲明一個孩子節點作爲你的「驗證測試者」,只寫在那裏。

+0

這是使用每個寫入請求myauth值作爲佔位符?從可擴展的解決方案看,這會不會是一種矯枉過正的行爲?我正在研究android。 –

+0

安全規則僅在服務器上運行。所以無論發生什麼,您都需要發送數據。相比之下,它是否真的試圖將它們寫入數據庫是相當小的。爲了獲得最佳用戶體驗:首先嚐試防止無效輸入(例如,使用下拉菜單而不是文本字段),然後在將輸入*發送到服務器之前驗證輸入*,然後才能依賴服務器端規則來捕獲錯誤和流氓用戶。安全規則是爲了確保數據完整性/授權訪問,而不是確保良好的用戶體驗。 –

相關問題