一种面向无人监考的防止搜索资料方法与流程

文档序号:12624501阅读:508来源:国知局

本发明涉及智慧教育技术领域,特指一种面向无人监考的防止搜索资料方法。



背景技术:

随着互联网技术的深入应用,采用远程网络考试/在线考试的需求越来越迫切,由于不能较好地解决防止作弊的难题,在线考试的应用和发展一直受到制约。

传统在线考试不能防止考生查找本机存储的与考试有关的资料,同时,也不能防止考生上网查找资料。专利申请201510330068.0提出了一种将当前客户端窗口置顶,遮盖其它程序窗口,以达到防止作弊的目的。专利申请201610036508.6提出了对前端电脑的屏幕背景颜色进行定时采集,如果发现有颜色变化,则认定为考生在访问其它网站。专利申请201410037375.5提出了定时将客户端窗口置顶的方法。这些方法在一定条件下能够防止此类作弊,但还存在一定问题,包括:

不能防止其它程序同样地将窗口置顶;

不能防止利用系统热键获取程序运行,如任务管理器;

不能防止当前浏览器本身访问其它非授权页面;

不能防止作弊者绕开客户端、直接访问考试页面,导致前端(电脑)不受客户端控制。



技术实现要素:

针对上述技术问题,本发明提出一种面向无人监考的防止搜索资料方法,其用于在参加网络考试(在线考试)时,防止考生搜索本机存储的资料、或者在其它网站(如百度)搜索资料的办法。弥补现有防作弊技术的不足,使防止搜索资料作弊具有实用性。

本发明的具体技术方案是:

一种面向无人监考的防止搜索资料方法,由位于前端的客户端软件或浏览器控件,以及后台服务程序组成,所述后台服务程序包括配置模块、验证模块、考试模块,具体包括:基于带内信息传递的防止未授权浏览器访问考试内容,在客户端软件或浏览器控件运行之后,发起与后台服务的通信,后台服务检测到如果请求来自非客户端软件或浏览器控件,拒绝服务并给出提示;和/或基于热键屏蔽的防止考生访问其它程序,客户端软件或浏览器控件屏蔽所有系统热键,防止考生通过热键启动其它程序;和/或基于进程杀灭的防止其它程序将自身窗口置顶,客户端软件或浏览器控件检测前端的系统进程,防止其它程序将自身窗口置顶,并且将客户端软件或浏览器控件自身置顶且窗口最大化;和/或基于授权地址列表的防止浏览器访问未授权页面,客户端软件或浏览器控件检测当前浏览器的跳转页面,阻止浏览器访问其它未授权页面。

作为本发明的优选技术方案,所述基于带内信息传递的防止未授权浏览器访问考试内容具体实现流程为:

Step1.1客户端软件或浏览器控件生成一个动态字符串,该串包含有与后台服务之间预先约定的身份信息、时序信息;

Step1.2客户端软件或浏览器控件对此字符串进行加密,加密算法由开发人员自行约定;

Step1.3客户端软件或浏览器控件控制前端浏览器,在其发送的http协议头部User_Agent字段中(或其它合适字段亦可),加入此加密后的字符串;

Step1.4后台服务从http请求中获取User_Agent字段,并且解密,对请求者的身份进行认证。如果发现不是来自约定的客户端,则返回失败,拒绝提供后续的考试内容;

Step1.5对每一次页面传输,后台服务均按上述Step1.1至Step1.4步骤进行浏览器合法性检测。

作为本发明的优选技术方案,所述基于热键屏蔽的防止考生访问其它程序包括客户端软件或浏览器控件拦截所有键盘输入,对系统热键进行过滤,如alt+tab、ctrl+alt+delete等,从根源上禁止考生切换屏幕,而不是只将当前窗口最大化置顶,具体实现流程为:

Step2.1:利用键盘钩子获取底层的按键信息;

Step2.2:判断是否需要屏蔽的热键,或者热键组合,如果是则屏蔽之;

Step2.3:程序退出时取消钩子。

作为本发明的优选技术方案,所述基于进程杀灭的防止其它程序将自身窗口置顶,具体包括:

Step3.1定时检测客户端软件或浏览器控件自身是否在最顶层,不是则将其置顶,同时记录最顶层的进程ID;

Step3.2对每一个置顶进程ID计数,除客户端自身ID之外,其它的进程ID计数如果大于某一个门限值(如3次),则认定该进程是可能作弊的程序,强制杀掉此进程;

Step3.3结合前面的关键技术“防止未授权浏览器访问”,如果作弊程序先下手为强,也可能先将客户端软件或浏览器控件进程杀除,但此时考生将不能正常考试。因此只可能是客户端软件或浏览器控件获取有效置顶。

作为本发明的优选技术方案,所述基于授权地址列表的防止浏览器访问未授权页面具体包括:

Step4.1客户端软件或浏览器控件预先从后台服务中获取与考试相关的授权地址列表;

Step4.2对每一次浏览器的页面跳转,客户端软件或浏览器控件比对目的地址,如果是授权列表中的地址,则允许访问;如果不是则禁止访问,并给出提示。

与现有技术相比,本发明的有益效果是:

(1)提出了一种带内信息传递方法,即直接利用浏览器所传输的网页本身,而不是客户端软件或浏览器控件与后台服务之间直接建立和长期保持通道,以减少后台负载。针对http的无连接特性,采用协议中的某个字段作为传输通道,传递认证信息,但又不对网页的传输与展现产生任何不良影响。

(2)提出了另一种防止考生访问其它程序的方法,不是从如何将当前窗口最大化置顶的角度着手,避免与其它程序争抢最顶层的窗口,而是从根源上禁止键盘切换窗口。

(3)发现了一种置顶自身窗口以获取输入的作弊方法,并针对性提出了防止办法。包括总是将自身置于最顶层,自动检测可能的作弊程序,禁止其运行以保证客户端软件或浏览器控件一直处于顶层。

(4)发现了一种通过网页链接进行跳转,以获取信息的作弊方法,同时提出了防范办法。

附图说明

图1为本发明工作流程示意图。

具体实施方式

现结合说明书附图对本发明具体实施方式进行详细说明:

一种面向无人监考的防止搜索资料方法,由位于前端的客户端软件或浏览器控件,以及后台服务程序组成,后台服务程序主要包括有配置模块、验证模块、考试模块,所述验证模块主要实现对前端身份信息的合法性认定,所述考试模块则完成考试内容的输入、输出等。

在考试之前,管理员先登录后台服务的配置模块,将授权地址列表、考试配置信息、认证信息等预先定义完成。

客户端软件或浏览器控件运行,从后台服务获取相应的授权地址列表、考试信息、认证信息等。

客户端软件或浏览器控件发起与后台服务的通信,后台服务对请求进行认证,如果请求来自非客户端软件或浏览器控件,后台拒绝服务并给出提示。

考试过程中循环运行下列三项检查,如果用户已经具备下列三项中某些防作弊功能,也可以只检查其它项:

1、客户端软件或浏览器控件屏蔽所有系统热键,防止考生通过热键启动其它程序。

2、客户端软件或浏览器控件检测前端的系统进程,防止其它程序将其窗口置顶,并且将自身置顶且窗口最大化;同时记录其它置顶进程,将其杀除。

3、客户端软件或浏览器控件检测当前浏览器的跳转页面,阻止其访问其它页面。

所述检查流程具体如下:

1、基于带内信息传递的防止未授权浏览器访问考试内容

客户端软件或浏览器控件与后台服务之间进行相互认证,对来自非授权的浏览器访问,后台服务拒绝提供考试服务。因为后台服务是一个Web服务,是没有保持连接的。所有的来自客户端的访问均基于http协议。具体实现流程为:

Step1.1客户端软件生成一个动态字符串,该串包含有与后台服务之间预先约定的身份信息、时序信息。

Step1.2客户端软件对此字符串进行加密,加密算法由开发人员自行约定。

Step1.3客户端软件控制前端浏览器,在其发送的http协议头部User_Agent字段中(或其它合适字段亦可),加入此加密后的字符串。

Step1.4后台服务从http请求中获取User_Agent字段,并且解密,对请求者的身份进行认证。如果发现不是来自约定的客户端,则返回失败,拒绝提供后续的考试内容。

Step1.5对每一次页面传输,后台服务均按上述方法进行浏览器合法性检测。

允许采用开发人员自定义的加密算法,对客户端的身份进行认证。

2、基于热键屏蔽的防止考生访问其它程序

客户端软件拦截所有键盘输入,对系统热键进行过滤,如alt+tab、ctrl+alt+delete等,从根源上禁止考生切换屏幕,而不是只将当前窗口最大化置顶。具体实现流程为:

Step2.1:利用键盘钩子获取底层的按键信息

Step2.2:判断是否需要屏蔽的热键,或者热键组合。如果是则屏蔽之。

Step2.3:程序退出时取消钩子。

3、基于进程杀灭的防止其它程序将其窗口置顶

考虑到有些情况下,比如系统的安全机制不允许拦截键盘。本发明会综合采用多种方法,以保证防止访问其它窗口。其中包括采用窗口最大化置顶方法,但传统的窗口最大化置顶,存在一些问题。

从原理上讲,客户端软件或浏览器控件可以将自身最大化置顶,同理其它软件一样也可以将自身置于最顶层。这样就存在一个争夺顶层的问题。本发明通过以下方式实现确保客户端软件或浏览器控件处于最顶层:

Step3.1定时检测客户端软件或浏览器控件自身是否在最顶层,不是则将其置顶,同时记录最顶层的进程ID,通常检测频率要比较高,使得其它程序即使获取最顶层界面,也瞬间被重新盖住,使考生没有时间搜索所需信息;

Step3.2对每一个置顶进程ID计数,除客户端自身ID之外,其它的进程ID计数如果大于某一个门限值(如3次),则认定该进程是可能作弊的程序,强制杀掉此进程;

Step3.3结合前面的关键技术“防止未授权浏览器访问”,如果作弊程序先下手为强,也可能先将客户端软件或浏览器控件进程杀除,但此时考生将不能正常考试。因此只可能是客户端软件或浏览器控件获取有效置顶。

4、基于授权地址列表的防止浏览器访问未授权页面

网页中可能有很多链接,包括考试网站在内。因此授权的浏览器也可能会访问未授权的页面,比如点击某一个与考试无关的链接,因此需要禁止考生的这种无关访问。

Step4.1客户端软件或浏览器控件预先从后台服务中获取与考试相关的授权地址列表;

Step4.2对每一次浏览器的页面跳转,客户端软件或浏览器控件比对目的地址,如果是授权列表中的地址,则允许访问;如果不是则禁止访问,并给出提示。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则的内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1