看起來目的是要考試防弊,選擇的方法是透過timestamp。 只透過timestamp會有很多問題/漏洞。原文提到的就是其中一個。 還要配合其他前端手法一起處理。 真正問題應該是規格需求不夠明確,要重新回頭思考要解決的問題與情境。 - 線上測驗的(同時)使用者數量 影響設計方法,全靠後端,量一大後端也要撐得住。 通常是前、後端都做部分工作。 - 測驗的嚴謹程度 (自我評量/一般考試/國家考試) 防弊程度 惡意的篡改 / 造假 / replay 都要處理 - 使用場景 (各種電腦手機上 / 指定考場電腦上) 在指定場合電腦上,一般人沒機會/沒時間竄改前端 ex: 多益考場 不同場景就可以有不同解法 把實際場景考慮進去,才有辦法做出合適設計。 基本上業界應該都有答案,金融業跟各種線上考試的都遇過這些問題。 Google到對的關鍵字應該就有答案了 ※ 引述《freebug (Freebug)》之銘言: : 我最近在開發一個「線上測驗」的網頁 : 前端配合後端PHP : 線上測驗的系統要剛好在5分鐘讓使用者作答 : 不能提早交卷也不能遲交 : 雖然我可以用前端的JavaScript 計時器計時 : 不過這樣只能防君子不能防小人 : 不法人士還是可以透過開發者工具偽造請求繞過網頁的計時器 : 所以這問題勢必要用後端來解決 : 我起初的想法是在後端開始出題時先用session記錄當時的timestamp : 然後之後當伺服器後端接收到任一請求時,檢查收到時的timestamp跟當初session記錄的 : timestamp相減是否剛好為5分鐘 : 不過這樣又會有另外一個問題 : 因為網路傳遞請求一定會有延遲 : 而每次的延遲時間都不同(也會根據使用者網路情況有所差異) : 所以不管前端後端好像都無解? : 各位有什麼想法嗎? -- ※ 發信站: 批踢踢實業坊(pttsite.org.tw), 來自: 61.230.211.119 (臺灣) ※ 文章網址: https://pttsite.org.tw/Soft_Job/M.1674995504.A.73E ※ 編輯: wt (61.230.211.119 臺灣), 01/29/2023 20:51:21
luke72: 所有的嚴謹考試都是要進考場的,能線上考的都不用太複雜 01/29 21:02
luke72: AWS認證考試可以線上,但要全程攝影機直播 01/29 21:03
luke72: 而且認證考試也不是什麼大考 01/29 21:04
B0988698088: 聽君一席話 01/30 09:52
knives: 根本不需要管前端好嘛 01/30 10:35
peoples: 包養平台不意外 01/30 10:35
vi000246: 要看考什麼吧 如果google就搜得到解答才有防弊的必要 01/30 12:13
eateat33: 如聽一席話 01/31 17:18
bob860115: 確實 01/31 21:37
Belieeve: 疫情期間美國升學大考幾乎都有推出線上考,但都會與額外 02/04 11:42
Belieeve: 的監測系統配合 02/04 11:42
wilmer: 覺得包養網EY嗎 02/04 11:42