2016-03-03 38 views
0

我想知道使用Firebase後端在IOS中處理日期的最佳方式。使用日期 - iOS - Firebase

在我的應用程序中,我有事件,用戶可以發佈數據直到特定的日期時間。我怎樣才能防止修改他的系統日期的用戶能夠改變事件,而不應該可能? 我們通常如何在iOS中防止這些情況? 我現在,我們可以從火力地堡時間戳工作,但它是一個有點討厭每次需要使用日期的工作時間要求的時間戳..

感謝您的幫助,

亨利

回答

0

如果您依賴客戶端的時鐘並且無法使用服務器檢查它們,則可以實現一個consensus protocol,以允許其他客戶端在接受之前驗證時間戳/帖子。

3

如果您有一個客戶端時間戳不夠好/足夠安全的用例,則始終可以使用Firebase的服務器端時間戳機制。

documentation

火力地堡服務器提供了一個機構以插入服務器作爲數據上生成時間戳。此功能與onDisconnect相結合,提供了一種簡單的方法來可靠地做出說明時,在其客戶端斷開連接:

var userLastOnlineRef = Firebase(url:"https://<YOUR-FIREBASE-APP>.firebaseio.com/users/joe/lastOnline") 
userLastOnlineRef.onDisconnectSetValue([".sv": "timestamp"]) 

您還可以使用now variable in your security rules,以確保時間戳字段相同(或至少不在)now

+0

謝謝。這個「時間戳」值可以用於查詢或插入值時使用。例如:'ref.childByAppendingPath(「users/joe/updatedAt」)。setValue(「timestamp」)'? – user3900157

+0

是的。 http://stackoverflow.com/questions/25536547/how-do-i-get-a-server-timestamp-from-firebases-ios-api –