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

作者: gpmm (銀色)   2023-01-30 16:10:17
※ 引述《freebug (Freebug)》之銘言:
: 我最近在開發一個「線上測驗」的網頁
: 前端配合後端PHP
: 線上測驗的系統要剛好在5分鐘讓使用者作答
: 不能提早交卷也不能遲交
: 雖然我可以用前端的JavaScript 計時器計時
: 不過這樣只能防君子不能防小人
: 不法人士還是可以透過開發者工具偽造請求繞過網頁的計時器
: 所以這問題勢必要用後端來解決
: 我起初的想法是在後端開始出題時先用session記錄當時的timestamp
: 然後之後當伺服器後端接收到任一請求時,檢查收到時的timestamp跟當初session記錄的
: timestamp相減是否剛好為5分鐘
: 不過這樣又會有另外一個問題
: 因為網路傳遞請求一定會有延遲
: 而每次的延遲時間都不同(也會根據使用者網路情況有所差異)
: 所以不管前端後端好像都無解?
: 各位有什麼想法嗎?
感覺這個需求應該是可以轉化,
「剛好 5 分鐘,不能提早交卷、不能遲交卷」
等於一個
「開始作答後 5 分鐘自動交卷」系統
作答過程中,後前後端維持時間校正(頻率自抓),
待 5 分鐘時間到,前端鎖介面,背景往後端發送,
網路不要太差的話,前後端時間誤差值抓在三秒內應該都很穩。
XD
作者: PTTNella (Nella)   2023-04-15 11:47:00
推,很多時候就是需要轉換一下思考 XD
作者: Isaea (Isaea)   2023-04-25 12:36:00
可以提早交卷,但時間到一樣自動交卷也行

Links booklink

Contact Us: admin [ a t ] ucptt.com