Re: [請益] 如何確保使用者確實在剛好5分鐘作答

看板PHP作者 (銀色)時間1年前 (2023/01/30 16:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《freebug (Freebug)》之銘言: : 我最近在開發一個「線上測驗」的網頁 : 前端配合後端PHP : 線上測驗的系統要剛好在5分鐘讓使用者作答 : 不能提早交卷也不能遲交 : 雖然我可以用前端的JavaScript 計時器計時 : 不過這樣只能防君子不能防小人 : 不法人士還是可以透過開發者工具偽造請求繞過網頁的計時器 : 所以這問題勢必要用後端來解決 : 我起初的想法是在後端開始出題時先用session記錄當時的timestamp : 然後之後當伺服器後端接收到任一請求時,檢查收到時的timestamp跟當初session記錄的 : timestamp相減是否剛好為5分鐘 : 不過這樣又會有另外一個問題 : 因為網路傳遞請求一定會有延遲 : 而每次的延遲時間都不同(也會根據使用者網路情況有所差異) : 所以不管前端後端好像都無解? : 各位有什麼想法嗎? 感覺這個需求應該是可以轉化, 「剛好 5 分鐘,不能提早交卷、不能遲交卷」 等於一個 「開始作答後 5 分鐘自動交卷」系統 作答過程中,後前後端維持時間校正(頻率自抓), 待 5 分鐘時間到,前端鎖介面,背景往後端發送, 網路不要太差的話,前後端時間誤差值抓在三秒內應該都很穩。 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.55.153 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1675066219.A.627.html
文章代碼(AID): #1ZrtjhOd (PHP)
文章代碼(AID): #1ZrtjhOd (PHP)