欢迎来到天天文库
浏览记录
ID:1744639
大小:58.50 KB
页数:5页
时间:2017-11-13
《无纸化考试系统防止考生作弊的实现措施》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、sunshine无纸化考试系统防止考生作弊的实现措施田民格(三明学院数学与计算机科学系,福建三明365004)摘要:无纸化考试系统防止考生作弊是无纸化考试系统要解决的首要问题。本文介绍了无纸化考试系统考生可用的作弊手段和防止考生作弊的具体方法,用API调用技术、注册表技术、拦截消息技术、回调技术、钩子技术实现了这些方法并给出详细的Delphi实现代码。关键词:无纸化考试系统;作弊;消息;回调;钩子中图分类号:TP316 文献标识码:A文章编号:1673-4343(2007)04-0456-04TheS
2、olutiontoPreventExamineefromCheatingofPaperlessExaminationSystemTianMin-ge(MathandComputerScienceDepartment,SanmingCollege,Sanming365004,China)Abstract:Preventexamineefromcheatingisoneofchiefproblemstosolveofnopaperexaminationsystem.Thispaperintroducesthe
3、measureofhowtopractisingfraudforexamineeandthesolutiontopreventexamineefrompractisingfraud.Then,introducesthesolutionbyusingthetechnologyofcallingAPI,registry,headingoffofthemessagestransferredtowindowbyWindows,callback,lowlevelkeyboardhookindetailwithDel
4、phi.Keywords:NoPaperExaminationSystem;Practisingfraud;Message;Callback;hooksunshinesunshine无纸化考试防止考生作弊是无纸化考试系统要解决的一个很重要的问题[1][2],也是到目前为止国内多数著名无纸化考试系统尚未能完全解决的难题(笔者从事无纸化考试系统软件开发8年有余,见过考试系统几十个,如新为、永道、杰佛、无忧等软件公司的考试系统,都尚未完全解决此难题)。因为Windows是一个多任务的操作系统,在任一时刻都允许运
5、行多个程序,同样,在无纸化考试过程中,要作弊的考生必然会通过各种途径(如Ctrl+Alt+Del)切换到其它应用程序并搜索到与考试相关的信息,使考试系统变成了“拷贝”系统,为此,如何使多任务的操作系统暂时失去多任务的功能(屏蔽Ctrl+Alt+Del热键等问题)是解决防止考生作弊的关键。本文使用Delphi综合应用了API调用技术、注册表技术、拦截消息技术、回调技术、钩子技术[3]等很好地实现了三层C/S模式[4]下的无纸化考试系统[5]中防止考生作弊问题。若采用B/S模式,则更难解决这些问题,且存在考题
6、很难兼容Word格式等问题。1考试系统中防止考生作弊的问题与原理考试系统中要防止考生作弊,按难度的不同,依次要解决四个方面的问题,即窗体的控制问题、任务栏的控制问题、热键的屏蔽问题、某些应用程序的智能提示信息。1.1窗体的控制问题最简单的作弊手段就是直接通过键盘或鼠标切换到其它应用程序查看答案。这是多数无纸化考试系统都能解决的问题,就是将答题窗体最大化并保持在所有窗体的最上面,包括盖住任务栏,且窗体没有最小化和还原按钮,这样,考生即使切换到其它窗体,也被答题窗体盖住而无法看到答案。但Delphi顶层技术存
7、在一个漏洞,Delphi窗体在最大化时可用鼠标拖动标题栏移动窗体,而Delphi窗体没有禁止窗体移动的属性可用。解决的办法是拦截窗体感应消息WM_NCHITTEST和窗体位置改变消息WM_WindowPosChangingsunshinesunshine,前者将标题栏消息调包成窗体客户区消息,后者将窗体新坐标位置改变回成原坐标值,这样,无论考生通过何手段都无法移动窗体了。通过拦截消息技术考生一般是无法移动窗体,包括控制菜单的移动命令也无法移动窗体,但考虑到控制菜单是操作系统提供的功能,为防某些操作系统绕过
8、以上消息,作为安全的冗余技术,增加拦截窗体系统命令WM_SysCommand消息,若命令类型是移动窗体SC_MOVE或改变窗体大小SC_SIZE则将二命令丢弃即可防止考生通过控制菜单移动窗体。1.2任务栏的控制问题答题窗体完全控制后,任务栏也是必须控制重要部分。没有经过全面的β测试,一般很难发现这一问题,因此笔者所见过的所有考试系统都忽视了这一问题。在XP操作系统中,只要运行某些程序或答题窗体弹出消息框时(如考生单击退出考试按
此文档下载收益归作者所有