利用ASP.Net实现攻防考试系统
2017-06-24毛自民
毛自民
(商丘职业技术学院,河南 商丘 476000)
利用ASP.Net实现攻防考试系统
毛自民
(商丘职业技术学院,河南 商丘 476000)
随着计算机网络的发展,攻防系统越来越受到计算机网络技术专业的青睐. 然而针对模拟的网络攻防系统不能满足要求,笔者设计实现一款适合高职院校计算机网络技术专业学生的攻防系统.本系统采用ASP.Net编程框架,在VS2012中开发,结合SQL Server2008、JavaScript、html等技术,设计基本满足攻防系统要求,同时本系统适合学生参加全国类的技能大赛,从而展现计算机网络类人才的能力.
网络;ASP.Net;网络攻防;信息安全
1 系统开发环境简介
本系统采用目前流行的ASP.Net技术进行开发,采用B/S架构进行开发,开发环境采用微软集成开发环境Visual Studio 2012,数据库用SQL Server 2008进行存放攻防考试系统的数据信息.ASP.Net是一项功能强大且非常灵活的新技术,主要用于创建编写动态Web页面,它是Microsoft公司的ASP和.Net Framework核心技术的结合..Net Framework是一整套的新技术,Net Framework 提供了一组丰富的接口以及抽象类和具体(非抽象)类. 可以按原样使用这些具体的类,或者在多数情况下从这些类派生你自己的类.若要使用接口的功能,既可以创建实现接口的类,也可以从某个实现接口的.NET Framework 类中派生类,让初学者用起来得心应手,既能方便部署,又能减少后期维护[1]140-141.
2 网络攻防考试系统采用的基本架构
依据网络攻防考试的特殊性和采用高内聚低耦合原则把本系统设计为三层,分别为最底层的数据层、中间层的业务逻辑层、最高层的表示层. 最底层的数据层包括考试的数据库,负责所有题型、学生的相关信息、测试分数信息等.中间层业务逻辑层是实现攻防考试系统的学生用户登录、学生信息查询、试题的抽题、答题以及评分等功能[2]272-273.最高层表示层则由.Net页面、MSSQL组件等组成,负责用户的交互功能,通过学生客户端向教师端发送抽题请求,教师端设置权限并把抽到的题目以可视化的结果呈现给学生端,如图1所示.
图1 B/S 系统架构图
3 系统功能模块设计
本系统包含以下主要功能模块:学生登录、学生题库、学生答题、攻防冲关、评分模块和后台管理[3]215-216,如图2所示.
图2 攻防考试系统功能模块图
1)用户登录模块主要是用户的登录,通过验证学生的学号和密码进行登录,学生的学号是学校教务处部门编排的学号,初始密码为123456,学生初次登录成功后系统要求更改密码并要求填写邮箱或手机号码,方便以后密码丢失后可以通过邮箱或手机号码找回.
2)用户题库模块主要是存放各种类型的题目供学生抽取,可以按照学习的章节进行抽取,也可以按照难易程度进行抽取,还可以按进行期中或期末测评抽取.其中章节抽取是根据各个项目中的知识点,重、难点设置一些题目,让学生在学完某项目后进行实习操作.按难易程度或期中、期末抽取是把所有题型打乱进行随机抽取.各种试题的管理可以通过后台进行添加、删除、编辑、查询等操作.
3)答题模块主要是让学生利用网络在线平台进行实时答题,可以在宿舍或图书馆,只要能够上网的地方都可以通过计算机终端或手机进行答题.
4)攻防闯关模块与学生自己抽题的题型比起来相对较难,是让掌握知识比较好的同学进行实战式的闯关模式.其中有些题型是课外的,需要学生自己主动学习课外知识来进行闯关,以此来激发学生的学习兴趣.
5)评分模块主要是学生进行答题或闯关完成后进行的,主要是检测学生对本项目章节或期中、期末所答题型掌握的熟练程度.
6)后台管理模块主要是针对教师端对学生的授权和设置题库设计的.本模块还可以统计学生的答题速度、熟练程度、掌握程度以及对学生的成绩分析等等.
4 核心数据库设计
数据库的核心是数据表结构的设计,它是数据库应用系统设计的关键环节.本文以系统数据库中学生答题表结构和打分表结构为例来描述用户数据表设计的.其中,主要是对数据表结构中的字段和字段类型进行定义说明,一定不要把字段类型设置错误,否则会出现结果出错的情况.见表1、表2.
表1 学生答题数据表结构设计(XSDT)
学生答题数据表结构的SQL建表语句:
Create table XSDT(
DTBH int(10) primary key not null,
TKBH int(10) not null,
YHBH int(10) not null,
YHDA varchar(255) not null,
BZDA varchar(255) not null,
JCFS int(10) not null,
DTSJ datetime not null,
DFQZ int(10) not null,
YHDF int(10) not null )
表2 评分数据表结构设计(DFB)
评分数据表结构的SQL建表语句
Create table DFB(
DTBH int(10) primary key not null,
TKBH int(10) not null,
YHBH int(10) not null,
XSZF int(10) not null,
XSDF int(10) not null,
SFTG bit not null,
SCDF int(10) not null )
5 攻防系统核心模块设计
整个攻防系统主要分学生和教师两个重要角色.学生角色输入学号、姓名、密码登录系统后,根据要测试的题型进行随机抽题,分为理论题目和实操题目,学生做完后根据学生答题情况,计算出考试成绩,并显示出来.教师角色输入教工号和正确的密码后进行后台管理系统,可以对题库进行添加、删除、编辑管理,浏览学生考试成绩,对学生信息的添加、删除、编辑,设置学生访问权限和学生考试时间等操作.
对于理论题型通过随机函数随机把理论题分成若干份,然后再从每份中随机把所抽取的题号放入设定的数组中,再从题库数据表中提取数据返回到Web前端页面.
在实操题型中,闯关模式共分为10关,等级按关数大小定论,等级越高题型越难,可以大大提高实操型强的学生的挑战能力,它是通过记录学生操作的步骤分步进行评分,最后累计得到最高分[4]89-95.
6 结语
本设计主要是利用ASP.Net配合Visual Studio 2010和SQL Server2008实现的网络攻防考试系统,通过开发学生登录、题库模块、答题模块、攻防闯关、评分模块和后台管理6大模块已基本实现目前计算机网络技术专业学生以网络攻防数据库为基础、采用页面交互式攻防实战的网上攻防考试系统.可以实现模拟网络攻防对抗环境,进行分布式攻防对抗,攻防效果评估等功能[5]35-40.本系统具有互动、智能、虚拟化的特点,既可在局域网内部署,又可在广域网内进行考核,部署规模可大可小,用户通过后台管理可自行设置各个参数.
[1] 何冬梅,黄志良.基于web的在线考试系统的设计与实现[J].福建电脑,2008,24(9).
[2] 王福全.基于Ajax技术的网页更新设计与实现[J].现代商贸工业,2008,20(1).
[3] 彭亮清,吴耀群,陈 玮.基于.NET的网络考试系统设计与实现[J].信息与电脑(理论版),2016(10).
[4] 何文涛,张新明.基于微课程的电子课本内容整合及其教育应用[J].中国电化教育,2013(12).
[5] 陈明忠.基于B/S模式的网上考试系统的设计与实现[J].韩山师范学院学报,2012(6).
[责任编辑 冰 竹]
2017-01-16
毛自民(1981- ),男,河南南乐人,商丘职业技术学院讲师,硕士,主要从事网络攻防研究。
TP311.52
A
1671-8127(2017)03-0095-03