2017-05-22 57 views
0

我已經實現了使用localstorage的計時器。它工作正常。網頁的計時器實現

但是如果我在定時器啓動後保持一個斷點,定時器塊。一旦它穿過斷點,定時器將從斷點處停止的值恢復。

一旦計時器達到00:00或用戶提交,我必須將數據發送到服務器。但問題是我如何驗證用戶沒有通過設置斷點來暫停計時器。

假設情況下,我的計時器值是5分鐘。用戶在兩分鐘內有兩分的中斷點並完成了更改。用戶在第4分鐘提交。它從計時器的角度來看是有效的,但實際上是無效的

另一個用戶真的需要4分鐘才能完成。這是有效的。在這種情況下,他沒有任何破發點。

我該如何避免這種不匹配?

有什麼建議嗎?

+0

爲什麼使用'localStorage'?你需要定時器來進行頁面導航或會話之間的? (如果這一切都在一個頁面內,你不需要'localStorage' – nnnnnn

+0

@nnnnnn感謝您的評論我使用這個用戶不能修改定時器如果有一個選項請教育我 –

+0

如果定時器的值存儲在'localStorage'中,用戶可以在不需要斷點的情況下對其進行修改,他們可以打開開發控制檯並鍵入'localStorage.yourTimerName = something'。最好在服務器端記錄開始時間,然後提交在服務器端計算中使用*表示仔細檢查他們沒有破解客戶端計時器。 – nnnnnn

回答

0

在計時器開始記錄時間(和日期)時。將該值與計時器停止時的時間(和日期)進行比較。在允許用戶提交之前驗證時間的差異