摘 要: 运用Windows操作系统提供的限制程序运行组策略技术,设计了一款Moodle在线考试防作弊软件,使得客户端只能打开火狐浏览器,火狐浏览器只能打开Moodle网站,从而杜绝通过U盘等移动存储媒介和互联网途径抄袭的行为。经过两个学期的在线考试应用实践,取得了良好的防考试作弊效果。
关键词: Moodle; 在线考试; 防作弊; 限制程序运行; 组策略
中图分类号:TP302.7 文献标志码:A 文章编号:1006-8228(2016)05-52-03
Abstract: In this paper, the anti-cheating software for Moodle online exam is designed by using the program operation limitation group policy provided by Windows operating system, with which the client can only open Firefox browser, and Firefox browser can only open Moodle websites, so as to prevent the behavior of U disk and other removable storage media and Internet way of plagiarism. After two semesters of online test application practice, a good result has achieved in prevention of cheating in examinations.
Key words: Moodle; online test; anti-cheating; limiting program operation; group policy
0 引言
Moodle是澳大利亚Martin Dougiamas博士主持开发的开源免费网络课程平台,自1999年发布以来,历经了17年的持续发展与改进,目前代码量已超过160万行。其功能全面,在全球各级各类教育机构中得到了广泛的应用[1]。
Moodle所提供的几百个插件中,在线考试模块已得到广泛使用。该模块能提供填空题、单选题、多选题、完形填空题、匹配题、计算题、简答题等多达16种题型,考场设置翔实,能随机抽题组卷,选项随机呈现,题目在卷面上随机呈现,每页显示题量可自定义,每个客户端还具有独立的倒计时器。客观题自动评卷,主观题则提供方便的人工阅卷模式。因而,在线考试模块被广泛用于各级各类学校构建题库和大规模在线考试。该模块一方面形成了资源,另一方面大大减轻了教师的重复出卷和批改试卷的劳动强度,也端正了学风[2]。
但在以往的考试实践中出现了一些问题,如:有的学生打开了百度查询,有的学生插入优盘打开与考试内容有关的文件,有的学生运行考试中不允许运行的软件。这些问题给监考老师出了难题。因此,有必要研制一款运行于客户端的Moodle防作弊软件,该软件实现的目标就是只允许客户端电脑能运行火狐浏览器、只允许火狐浏览器打开Moodle考试网站。
本文从防作弊关键技术、软件架构、实现方法和运用效果等方面阐述Moodle在线考试防作弊软件的设计与开发技术。
1 防作弊关键技术
Moodle在线考试防作弊软件需要解决两个关键技术:一个是只允许火狐浏览器运行;另一个是只允许火狐浏览器打开固定的Moodle网站。
只允许Windows操作系统运行火狐浏览器,采用Windows操作系统自带的组策略(Group Policy)技术来解决。组策略技术是从Windows 2000开始引入的一项新技术,它是管理员为用户和计算机定义并控制程序、网络资源及操作系统行为的主要工具,通过使用组策略,可以设置各种软件、计算机和用户策略。有了系统层级的组策略技术,Windows管理员可以为用户和计算机实现特定的配置以及定义安全、用户和网络策略[3]。
需要注意的是,一定要关闭桌面,再启动一次桌面,上述注册表设置才能立即生效。采用运行批处理文件的方法来重启桌面。只需运行“重启桌面.bat”来重启一次Windows桌面,“重启桌面.bat”文本文件的两行内容为[4]:
taskkill /f /im Explorer.exe
start Explorer.exe
在实验过程中,若是注册表生效后,限制了所有程序运行,自己无法再进入注册表,就重启Windows,通电时按住F8,再间断按向下的箭头,在启动列表里,选择 【带命令行提示的安全模式】,登录后,在命令行窗口中输入“regedit”,依据上述注册表路径直接修改注册表里的限制程序运行项即可。
上述技术解决了只允许Windows操作系统运行火狐浏览器的问题,而只允许火狐浏览器打开固定的Moodle网站,则是通过修改网卡的DNS配置来实现[5]。因为Moodle网站只允许一个固定IP来访问,而其他网站都是通过域名来访问。因此,最简单的做法是直接修改本机的DNS服务器,把本机网卡的DNS值设置为一个无效的DNS服务器,即:使得本机火狐浏览器无法打开除Moodle网站以外的任何其他网站。下面三行命令通过批处理的形式实现设置本机网卡DNS为10.0.0.0,设置后,系统自动将此批处理文件删除:
2 软件架构
针对“只允许Windows运行火狐浏览器,只允许火狐浏览器打开固定的Moodle网站”,只需设计一个独立的窗口程序即可实现。图2为独立窗口界面的软件功能框架图。
[Moodle在线考试防作弊软件][限制程序运行][网站访问限制][保存并退出]
3 实现方法及关键代码
由于本软件是独立窗口界面软件,结合注册表处理和批处理文件处理需求,采用C++Builder 6.0进行开发较为方便。C++Bulider 6是Borland公司出品的一种基于C++的快速开发工具,它不仅易学易用,而且功能强大、目标程序效率高[6]。
经过C++Builder编译的Release版本的exe文件,能脱离C++Builder开发环境在其它Windows机器上独立运行。为了减少EXE程序的大小,再采用ASPack软件对EXE程序进行压缩加壳,使得EXE程序只有200KB大小,而且加快运行速度。ASPack能对程序员开发的32位Windows可执行程序进行压缩,使最终文件减小至70%。更独特的一点是,经过ASPack压缩加壳后的软件,能在没有安装ASPack的电脑上独立运行,且丝毫不受影响[7]。
下面是Moodle在线考试防作弊软件的关键代码,主要涉及注册表操作和批处理文件及文件流的关键技术。
4 运用效果
本Moodle在线考试防作弊软件研制成功后,在考场中进行实际应用检测。考前清理考场,监考人员通过机房教学管理软件从教师机上将本软件一次性分发到学生机电脑桌面上,然后,通过教师机发送一条运行Moodle防作弊软件的命令,运行完后,软件启动限制程序运行功能,只允许火狐浏览器运行,并设置好网卡DNS,使得火狐浏览器只允许打开Moodle考试网站,重新启动桌面,最后自动删除Moodle在线考试防作弊软件。
在宁波职业技术学院电信学院Moodle互动教学平台(网址 http://61.164.87.150:5483/)上经过两个学期的应用实践,对软件进行了多次改进,使得软件的设计更加方便在线考试的管理。Moodle在线考试防作弊软件应用以后,大大减轻了监考压力,主动防止了考场中可能针对电脑和互联网本身对在线考试可能出现的不利因素,取得了良好的应用效果。
5 结束语
本文通过剖析和运用Windows自带的组策略技术,利用C++Builder 6完善的注册表操作、文件流操作及EXE独立运行编译与ASPack可执行程序加壳压缩技术,研制了一款能功能独特、体积小巧、能独立运行的Moodle在线考试防作弊软件。该软件使得学生机只能运行火狐浏览器,火狐浏览器只能打开指定的Moodle网站,彻底解决了Moodle在线考试中可能引起作弊的客观因素,结合Modole在线考试模块选项随机、随机抽题、卷面呈现顺序随机和一页只显示一道题的运行机制,营造了一个纯净的考试环境。该软件的应用有助于转变学风和考风,有助于促进考试公平和提高教学质量。
参考文献(References):
[1] Moodle官网[EB/OL].
[2] 曾棕根.Moodle 2大规模在线考试研究与实践[M].人民邮电出版社,2014.
[3] 组策略[EB/OL].
[4] 百度知道:重启桌面[EB/OL].< http://zhidao.baidu.com/>
[5] DOS命令修改DNS[EB/OL].< http://blog.sina.com.cn/s/blog_49cea9d60100j5az.html>
[6] 曾棕根.C++Builder数据库开发实用教程[M].清华大学出版社,2006.
[7] ASPack[EB/OL].< http://www.aspack.com>
[8] 王小华.C++Builder编程技巧、经验与实例[M].人民邮电出版社,2004.