Re: [请益] 确保在刚好5分钟不差作答网页测验

楼主: wt (Time to Change!)   2023-01-29 20:31:41
看起来目的是要考试防弊,选择的方法是透过timestamp。
只透过timestamp会有很多问题/漏洞。原文提到的就是其中一个。
还要配合其他前端手法一起处理。
真正问题应该是规格需求不够明确,要重新回头思考要解决的问题与情境。
- 线上测验的(同时)使用者数量
影响设计方法,全靠后端,量一大后端也要撑得住。
通常是前、后端都做部分工作。
- 测验的严谨程度 (自我评量/一般考试/国家考试)
防弊程度
恶意的篡改 / 造假 / replay 都要处理
- 使用场景 (各种电脑手机上 / 指定考场电脑上)
在指定场合电脑上,一般人没机会/没时间窜改前端 ex: 多益考场
不同场景就可以有不同解法
把实际场景考虑进去,才有办法做出合适设计。
基本上业界应该都有答案,金融业跟各种线上考试的都遇过这些问题。
Google到对的关键字应该就有答案了
※ 引述《freebug (Freebug)》之铭言:
: 我最近在开发一个“线上测验”的网页
: 前端配合后端PHP
: 线上测验的系统要刚好在5分钟让使用者作答
: 不能提早交卷也不能迟交
: 虽然我可以用前端的JavaScript 计时器计时
: 不过这样只能防君子不能防小人
: 不法人士还是可以透过开发者工具伪造请求绕过网页的计时器
: 所以这问题势必要用后端来解决
: 我起初的想法是在后端开始出题时先用session记录当时的timestamp
: 然后之后当服务器后端接收到任一请求时,检查收到时的timestamp跟当初session记录的
: timestamp相减是否刚好为5分钟
: 不过这样又会有另外一个问题
: 因为网络传递请求一定会有延迟
: 而每次的延迟时间都不同(也会根据使用者网络情况有所差异)
: 所以不管前端后端好像都无解?
: 各位有什么想法吗?
作者: luke72 (ccc)   2023-01-29 21:02:00
所有的严谨考试都是要进考场的,能线上考的都不用太复杂AWS认证考试可以线上,但要全程摄影机直播而且认证考试也不是什么大考
作者: B0988698088 (废文少女小円♥)   2023-01-30 09:52:00
听君一席话
作者: knives   2023-01-30 10:35:00
根本不需要管前端好嘛
作者: vi000246 (Vi)   2023-01-30 12:13:00
要看考什么吧 如果google就搜得到解答才有防弊的必要
作者: eateat33 (33来吃)   2023-01-31 17:18:00
如听一席话
作者: bob860115 (Bob0115)   2023-01-31 21:37:00
确实
作者: Belieeve (芥末拿铁)   2023-02-04 11:42:00
疫情期间美国升学大考几乎都有推出线上考,但都会与额外的监测系统配合

Links booklink

Contact Us: admin [ a t ] ucptt.com