摘 要: 運用Windows操作系統(tǒng)提供的限制程序運行組策略技術,設計了一款Moodle在線考試防作弊軟件,使得客戶端只能打開火狐瀏覽器,火狐瀏覽器只能打開Moodle網(wǎng)站,從而杜絕通過U盤等移動存儲媒介和互聯(lián)網(wǎng)途徑抄襲的行為。經(jīng)過兩個學期的在線考試應用實踐,取得了良好的防考試作弊效果。
關鍵詞: 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博士主持開發(fā)的開源免費網(wǎng)絡課程平臺,自1999年發(fā)布以來,歷經(jīng)了17年的持續(xù)發(fā)展與改進,目前代碼量已超過160萬行。其功能全面,在全球各級各類教育機構中得到了廣泛的應用[1]。
Moodle所提供的幾百個插件中,在線考試模塊已得到廣泛使用。該模塊能提供填空題、單選題、多選題、完形填空題、匹配題、計算題、簡答題等多達16種題型,考場設置翔實,能隨機抽題組卷,選項隨機呈現(xiàn),題目在卷面上隨機呈現(xiàn),每頁顯示題量可自定義,每個客戶端還具有獨立的倒計時器??陀^題自動評卷,主觀題則提供方便的人工閱卷模式。因而,在線考試模塊被廣泛用于各級各類學校構建題庫和大規(guī)模在線考試。該模塊一方面形成了資源,另一方面大大減輕了教師的重復出卷和批改試卷的勞動強度,也端正了學風[2]。
但在以往的考試實踐中出現(xiàn)了一些問題,如:有的學生打開了百度查詢,有的學生插入優(yōu)盤打開與考試內(nèi)容有關的文件,有的學生運行考試中不允許運行的軟件。這些問題給監(jiān)考老師出了難題。因此,有必要研制一款運行于客戶端的Moodle防作弊軟件,該軟件實現(xiàn)的目標就是只允許客戶端電腦能運行火狐瀏覽器、只允許火狐瀏覽器打開Moodle考試網(wǎng)站。
本文從防作弊關鍵技術、軟件架構、實現(xiàn)方法和運用效果等方面闡述Moodle在線考試防作弊軟件的設計與開發(fā)技術。
1 防作弊關鍵技術
Moodle在線考試防作弊軟件需要解決兩個關鍵技術:一個是只允許火狐瀏覽器運行;另一個是只允許火狐瀏覽器打開固定的Moodle網(wǎng)站。
只允許Windows操作系統(tǒng)運行火狐瀏覽器,采用Windows操作系統(tǒng)自帶的組策略(Group Policy)技術來解決。組策略技術是從Windows 2000開始引入的一項新技術,它是管理員為用戶和計算機定義并控制程序、網(wǎng)絡資源及操作系統(tǒng)行為的主要工具,通過使用組策略,可以設置各種軟件、計算機和用戶策略。有了系統(tǒng)層級的組策略技術,Windows管理員可以為用戶和計算機實現(xiàn)特定的配置以及定義安全、用戶和網(wǎng)絡策略[3]。
需要注意的是,一定要關閉桌面,再啟動一次桌面,上述注冊表設置才能立即生效。采用運行批處理文件的方法來重啟桌面。只需運行“重啟桌面.bat”來重啟一次Windows桌面,“重啟桌面.bat”文本文件的兩行內(nèi)容為[4]:
taskkill /f /im Explorer.exe
start Explorer.exe
在實驗過程中,若是注冊表生效后,限制了所有程序運行,自己無法再進入注冊表,就重啟Windows,通電時按住F8,再間斷按向下的箭頭,在啟動列表里,選擇 【帶命令行提示的安全模式】,登錄后,在命令行窗口中輸入“regedit”,依據(jù)上述注冊表路徑直接修改注冊表里的限制程序運行項即可。
上述技術解決了只允許Windows操作系統(tǒng)運行火狐瀏覽器的問題,而只允許火狐瀏覽器打開固定的Moodle網(wǎng)站,則是通過修改網(wǎng)卡的DNS配置來實現(xiàn)[5]。因為Moodle網(wǎng)站只允許一個固定IP來訪問,而其他網(wǎng)站都是通過域名來訪問。因此,最簡單的做法是直接修改本機的DNS服務器,把本機網(wǎng)卡的DNS值設置為一個無效的DNS服務器,即:使得本機火狐瀏覽器無法打開除Moodle網(wǎng)站以外的任何其他網(wǎng)站。下面三行命令通過批處理的形式實現(xiàn)設置本機網(wǎng)卡DNS為10.0.0.0,設置后,系統(tǒng)自動將此批處理文件刪除:
2 軟件架構
針對“只允許Windows運行火狐瀏覽器,只允許火狐瀏覽器打開固定的Moodle網(wǎng)站”,只需設計一個獨立的窗口程序即可實現(xiàn)。圖2為獨立窗口界面的軟件功能框架圖。
[Moodle在線考試防作弊軟件][限制程序運行][網(wǎng)站訪問限制][保存并退出]
3 實現(xiàn)方法及關鍵代碼
由于本軟件是獨立窗口界面軟件,結(jié)合注冊表處理和批處理文件處理需求,采用C++Builder 6.0進行開發(fā)較為方便。C++Bulider 6是Borland公司出品的一種基于C++的快速開發(fā)工具,它不僅易學易用,而且功能強大、目標程序效率高[6]。
經(jīng)過C++Builder編譯的Release版本的exe文件,能脫離C++Builder開發(fā)環(huán)境在其它Windows機器上獨立運行。為了減少EXE程序的大小,再采用ASPack軟件對EXE程序進行壓縮加殼,使得EXE程序只有200KB大小,而且加快運行速度。ASPack能對程序員開發(fā)的32位Windows可執(zhí)行程序進行壓縮,使最終文件減小至70%。更獨特的一點是,經(jīng)過ASPack壓縮加殼后的軟件,能在沒有安裝ASPack的電腦上獨立運行,且絲毫不受影響[7]。
下面是Moodle在線考試防作弊軟件的關鍵代碼,主要涉及注冊表操作和批處理文件及文件流的關鍵技術。
4 運用效果
本Moodle在線考試防作弊軟件研制成功后,在考場中進行實際應用檢測。考前清理考場,監(jiān)考人員通過機房教學管理軟件從教師機上將本軟件一次性分發(fā)到學生機電腦桌面上,然后,通過教師機發(fā)送一條運行Moodle防作弊軟件的命令,運行完后,軟件啟動限制程序運行功能,只允許火狐瀏覽器運行,并設置好網(wǎng)卡DNS,使得火狐瀏覽器只允許打開Moodle考試網(wǎng)站,重新啟動桌面,最后自動刪除Moodle在線考試防作弊軟件。
在寧波職業(yè)技術學院電信學院Moodle互動教學平臺(網(wǎng)址 http://61.164.87.150:5483/)上經(jīng)過兩個學期的應用實踐,對軟件進行了多次改進,使得軟件的設計更加方便在線考試的管理。Moodle在線考試防作弊軟件應用以后,大大減輕了監(jiān)考壓力,主動防止了考場中可能針對電腦和互聯(lián)網(wǎng)本身對在線考試可能出現(xiàn)的不利因素,取得了良好的應用效果。
5 結(jié)束語
本文通過剖析和運用Windows自帶的組策略技術,利用C++Builder 6完善的注冊表操作、文件流操作及EXE獨立運行編譯與ASPack可執(zhí)行程序加殼壓縮技術,研制了一款能功能獨特、體積小巧、能獨立運行的Moodle在線考試防作弊軟件。該軟件使得學生機只能運行火狐瀏覽器,火狐瀏覽器只能打開指定的Moodle網(wǎng)站,徹底解決了Moodle在線考試中可能引起作弊的客觀因素,結(jié)合Modole在線考試模塊選項隨機、隨機抽題、卷面呈現(xiàn)順序隨機和一頁只顯示一道題的運行機制,營造了一個純凈的考試環(huán)境。該軟件的應用有助于轉(zhuǎn)變學風和考風,有助于促進考試公平和提高教學質(zhì)量。
參考文獻(References):
[1] Moodle官網(wǎng)[EB/OL].
[2] 曾棕根.Moodle 2大規(guī)模在線考試研究與實踐[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數(shù)據(jù)庫開發(fā)實用教程[M].清華大學出版社,2006.
[7] ASPack[EB/OL].< http://www.aspack.com>
[8] 王小華.C++Builder編程技巧、經(jīng)驗與實例[M].人民郵電出版社,2004.