作者gpmm (银色)
看板PHP
标题Re: [请益] 如何确保使用者确实在刚好5分钟作答
时间Mon Jan 30 16:10:17 2023
※ 引述《freebug (Freebug)》之铭言:
: 我最近在开发一个「线上测验」的网页
: 前端配合後端PHP
: 线上测验的系统要刚好在5分钟让使用者作答
: 不能提早交卷也不能迟交
: 虽然我可以用前端的JavaScript 计时器计时
: 不过这样只能防君子不能防小人
: 不法人士还是可以透过开发者工具伪造请求绕过网页的计时器
: 所以这问题势必要用後端来解决
: 我起初的想法是在後端开始出题时先用session记录当时的timestamp
: 然後之後当伺服器後端接收到任一请求时,检查收到时的timestamp跟当初session记录的
: timestamp相减是否刚好为5分钟
: 不过这样又会有另外一个问题
: 因为网路传递请求一定会有延迟
: 而每次的延迟时间都不同(也会根据使用者网路情况有所差异)
: 所以不管前端後端好像都无解?
: 各位有什麽想法吗?
感觉这个需求应该是可以转化,
「刚好 5 分钟,不能提早交卷、不能迟交卷」
等於一个
「开始作答後 5 分钟自动交卷」系统
作答过程中,後前後端维持时间校正(频率自抓),
待 5 分钟时间到,前端锁介面,背景往後端发送,
网路不要太差的话,前後端时间误差值抓在三秒内应该都很稳。
XD
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.55.153 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1675066219.A.627.html
1F:推 PTTNella: 推,很多时候就是需要转换一下思考 XD 04/15 11:47
2F:推 Isaea: 可以提早交卷,但时间到一样自动交卷也行 04/25 12:36