You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java Web考试系统如何检测并阻断客户端远程访问连接

Java Web考试系统远程访问检测方案说明

核心可行性结论

JSP是服务端运行的后端技术,本身无法获取客户端的系统状态,完全不可能直接检测远程访问软件。
运行在浏览器沙箱中的JavaScript默认没有权限读取客户端的进程列表、后台服务信息,所以也无法直接检测到远程访问软件是否运行,只能通过间接特征做概率性判断。

可行的间接检测方案(纯Web端可实现)

  • 窗口状态检测:监听考试页面的focus和blur事件,统计窗口失焦的频率和时长,频繁失焦大概率存在切换远程窗口、被远程控制的风险
    示例代码:
    let blurCount = 0;
    window.addEventListener('blur', () => {
      blurCount++;
      if(blurCount > 3) {
        // 触发违规警告、提交后台记录逻辑
      }
    });
    
  • 屏幕特征检测:通过window.screen对象获取设备分辨率、可用屏幕区域参数,远程访问场景下经常会出现分辨率适配异常、可用区域和设备标称参数不匹配的特征,可以作为异常判断依据
  • 操作特征检测:监听mousemove、keydown事件采集操作轨迹,远程控制的鼠标移动会比本地操作更平滑、延迟更高,键盘输入间隔也会存在固定偏差,通过特征模型可以识别出大部分远程操作场景
  • 屏幕共享校验:要求考生考试全程授权共享整个屏幕(而非单个考试窗口),JS可以通过getDisplayMedia接口校验共享源类型,避免考生在后台运行远程软件操作考试

成熟落地实现方案

  • 纯Web端方案:目前市面上绝大多数线上考试SaaS的Web端都是整合上述所有间接检测逻辑,配合摄像头定时抓拍、音频检测等组合方案,整体识别准确率可以覆盖80%以上的常规远程作弊场景,优点是无需考生安装额外程序,接入成本低,缺点是存在一定的绕过概率
  • 轻量客户端配合方案:如果对防作弊要求更高,可以开发10M以内的轻量桌面巡检程序,考生进入考试前需要先运行该程序,程序会直接遍历本地进程列表,匹配TeamViewer、向日葵、ToDesk、AnyDesk等所有常见远程访问软件的进程名,检测到就强制关停或禁止进入考试,巡检程序可以通过本地WebSocket和Web考试端通信,后端JSP可以直接拿到巡检结果做准入判断,这个方案准确率接近100%,是现在中高严肃性考试的通用落地方案

注意:所有纯Web端的检测逻辑都存在被绕过的可能,比如使用特制的定制化远程工具、修改浏览器权限配置都可以规避特征检测,实际落地时建议配合人工监考、考后操作录像回溯等机制,不能完全依赖技术检测结果作为唯一判据。

内容的提问来源于stack exchange,提问作者Rajashree Saste

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:45:03