一种基于WEB的在线考试系统身份认证方案的设计与实现
摘要:针对基于WEB的在线考试系统如何解决登录考试系统的身份认证以及页面之间的认证,给出了一种合理的解决方案。
该方案成功、
有效地在本校计算机病例模拟考试系统中运用。
关键词:身份认证;Cookies;在线考试系统;IP地址;标记字段
0 引言
网络认证技术是网络安全技术的重要组成部分之一。
认证指的是证实被认证对象是否属实和是否有效的一个过程。
其基本思想是通过验证被认证对象的属性来达到确认被认证对象是否真实有效的目的。
被认证对象的属性可以是口令、数字签名或者象指纹、声音、视网膜这样的生理特征。
认证常常被用于通信双方相互确认身份,以保证通信的安全。
认证可采用各种方法进行。
目前在线考试系统很多,对考试系统用户身份认证,对作弊机制的防范,各种系统都有其优缺点。
用C/S模式是全国计算机等级考试的策略,但开发、部署一套这样的系统比较麻烦。
作者给出的方案采用B/S模式,无需在客户端安装任何软件便可有效进行身份认证。
1 本系统的基本思想与应用环境
采用基于Web的在线考试系统将很方便地部署考试环境,作者设计的计算机病例模拟考试系统是针对医学院校考生使用,是一种在高校内部完成的考试。
像大多数考试一样,都需要认证。
认证程序
设计的优良体现在对作弊机制的防范上。
单纯的Web技术本身并不保证信息的安全,它使得信息可能被非授权的用户访问、阅读和修改等,因此基于Web的在线考试系统的真正实现,其首要考虑的问题是如何确保系统的安全性。
此外高校的计算机机房一般都采用了还原保护模式,即至少保护系统盘。
这样即使系统中保留的Cookies值在重新启动计算机系统之后都将恢复到考生未登录的状态,这样方便机房管理。
本文不对数据库安全做讨论仅从登录认证方面提出作者的见解。
2 系统认证的设计
2.1 系统登录认证NS图
其中数据库字段state布尔型为标记字段,记录考生是否完成考试,数据库字段userip文本型标记字段,记录考生所在机器的IP。
2.2 系统结构
在实际中可以做到最简化部署,采用一台服务器+交换机+学生机,这是对几百考生应用的场合,如果应用范围广则使用上图所示的结构。
客户端数据访问流程和系统的业务逻辑构造采用基于XML的三层数据交换结构。
2.3 考试在客户端的初步验证
验证控件可以使用客户端脚本来执行验证。
这种控件
无需服务器的往返过程,对页面的性能有所改善。
如:使用RegularExpressionValidator 控件,这是只是一种最初步的验证,无法核实考生的真实信息,所以认证系统设计的关键在于考生真实身份的认证。
2.4 考生登录考试系统的设计
在考试系统中,避免在登录考试系统时出现少数考生输入了他人的考试帐号,这里采用学号加姓名,然后进一步在程序里通过判断数据库中该考生是否存在,不存在此考生则转到无权访问页面noright.htm;考生存在的时候判断考试是否完成,这里要结合数据库字段state,每个考生完成考试系统都会标志该考生记录的state字段为true,如考生完成考试则转到结束考试页面thank.htm,否则进入下一层判断,判断系统数据库字段userip是否为空,为空说明第一次登录,如果本次登录与系统数据库字段userip不一致,说明考生已改换其他机器登录或者修改了IP,此时跳转到无权访问页面
noright.htm。
考生在考试过程中未完成考试,又继续在本台机器用他人帐号登录也是考试过程中一个必须防范的问题。
本系统在判断IP之后就很好的解决了这个问题。
本次登录的用户名与之前Response.Cookies("name")值对比就能区分是否使用他人帐号登录考试。
没有使用他人帐号则继续回到考试页面paper.asp。
只要考试未完成,当考生关闭IE后可以再次用该账号在本机上再次登录。
并进入到以前答题的断点(如何识别并寻找考生做题的断点不在本文中讨
论)。
值得注意的是第一次成功登录后,Response.Cookies("younumber")记录学生的学号,Response.Cookies("name")记录姓名。
接下来保留IP在Cookies中,第一次登录的时候该考生的数据库字段userip的值为空,此时同样保留IP值在userip字段中。
在成功抽取试卷的时候设置
Response.Cookies("pass") = 1。
下面语句将控制页面的非法访问。
If Request.Cookies("pass") <> 1 then
response.Redirect("login.htm") response.End end if。
在上面的设计中,考生在集中的环境中进行考试,为防止出现代考、替考的行为,一方面由监考员对考生的有效证件进行检查,在考场有所有考生名单,让考生自己签名。
另一方面通过考试服务器+
客户端Cookies值对考生的用户名及密码进行验证。
3 测试环境与结果
在笔者所在的广西医科大学,这种设计运用在计算机模拟病例考试中,机房安装有还原卡,因为Cookies值保留了上次登录的学生学号与姓名,没有重启系统的话可能引起下一批考生无法登录本系统。
这与安全登录认证程序是一致的。
本方案能禁止考生在同一台机器替考,机器正常情况下考生更换机器。
在2006年到2011年3月为止本校进行的10场考试中本系统都能对考生有效认证。
本系统也存在这样的安全隐患,就是考生人为清除本台机器的Cookies值,修改本台机器的IP,再使用一个没有登录过的IP,帮他人
替考。
但是如果每个监考员有一份考场记录表,记录每个学生的座位
情况。
那么这种作弊方法仍无法实现。
4 结束语
综上所述,只要是网络考试都或多或少地存在安全隐患,同时它也是相当的复杂多样,开发这类系统需要有强烈的安全意识。
通过不断学习探索,不同的学校机房配置环境各不相同,只有结合具体情况才能给出更加合理的解决方案。
身份认证是考试系统中的第一道关卡,考试系统的重要性虽不及电子商务,但比一般的因特网网站要重要得多。
故既不宜采用简单的口令认证,也不宜采用设计复杂的认证。
参考文献:
\[1\] 游新娥.基于校园网的考试系统双向身份认证方案设计\[J\].计算机系统应用,2010(10).
Design and Realization of Identity Authentication Methods on
On-Line Exam System Based on Web
Abstract:Regarding to the safety of the On-line Exam System Based on Web, this artical presents the way and methods of the design and
implementation of Identity Authentication and page certification, which have been run into during the Computer-based Case Simulations examination in Guangxi Medical University , and its implementation is easy successful and efficient.
Key Words: Authentication;Cookies;On-Line Exam System;IP Address;Tag Field。