APP下载

基于ASP 的毕业设计管理系统的实现与安全设计

2010-07-25赵玲

微型电脑应用 2010年6期
关键词:毕业设计页面选题

赵玲

0 引言

毕业设计管理是高校教学管理工作的一项重要内容。传统的工作方式是这样一个流程:首先是由教务秘书或者教研室主任通知教师上报毕业设计题目,然后是汇总审核毕业设计题目,其次是将整理好的毕业设计题目打印发放到各个毕业班,再其次是毕业生在自己想参与设计的题目后写上自己的名字等等。这种人工管理方式非常低效,越来越不能适应时代的需求。许多教师与教学秘书迫切需要一种实用而且性能稳定的管理软件,帮助完成大量的立题、评审、选题、统计、打印等工作。而且,在现在的这种人工管理方式下,学生选题是根据查看系部所下发的毕业生毕业设计题目的纸式文档,在这些纸式文档中找到自己喜欢或感兴趣的题目,但对于题目的内容并不能够看到,只是望名猜意而不能正确地知道指导教师的要求,所以选题盲目性比较高。学生不容易找到合适的题目,使得每年的选题过程占用时间比较长,并且学生也未必能找到自己感兴趣的题目,致使学生做出的毕业设计的质量也并不高。所以学生也迫切需要一种软件,能够帮助快速查找到合适题目。

随着网络技术的发展,实现毕业设计的网络化管理已势在必行。它的强大功能在于,将复杂繁琐的立题、选题、管理工作,通过规范的方式在网上直接进行操作,从而大大地减少了立题教师、教学秘书的工作量,并且能够高效的完成所需的要求。同时,由于所有题目都在网上进行公布,增加了毕业设计或毕业论文题目的可见度,从而便于学生较快地选到合适的题目。通过此系统,教师可上传任务书、工作计划,网上评阅学生论文,还可进行答疑解惑等;学生可提交开题报告、中期汇报及毕业论文,还可进行网上答疑等。基于ASP的毕业设计管理系统,可实现电子化、网络化、规范化的作业流程,减少因距离、时间等产生的交流不畅等问题,在提高工作效率的基础上,增加协同办公能力,强化决策的一致性,最后实现提高决策效能的目的[1]。

1 技术开发工具和环境

本系统的开发环境为ASP+IIS6.0+SQL Server 2000,采用ASP三层架构开发方法,基本上可实现毕业设计管理系统的主要功能。IIS(Internet Information Services,最新版为6. 0)为WindowsNT/2000/2003系列操作系统中的内置组件,Web客户端和ASP应用程序之间的联系是通过IIS来进行的。SQL Server 2000数据库系统与Windows操作系统及ASP之间具有良好的兼容性。因此采用SQL Server 2000来完成底层数据库的开发。

目前,基于Web的系统开发技术主要有4种:CGI、PHP、JSP和ASP。ASP全名Active Server Pages,是一个Web服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的 Web服务应用程序。ASP采用 VBscript、Jscript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序制作设计。ASP无须编译,容易编写,可在服务器端直接执行。使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。与浏览器无关,客户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言(VBscript、Jscript)均在Web服务器端执行,客户端的浏览器不需要执行这些脚本语言,服务器仅将执行的结果返回给客户浏览器,这样既提高了程序的安全性,又减轻了客户端浏览器的负担,大大提高了交互的速度。目前,国内普通用户所用的操作系统都是Windows,还有数据库系统SQL Server 2000,这些都是微软的产品,在系统的兼容与稳定性上,都采用同一个公司的产品当然效果会更好。因此选择ASP技术开发基于Web的毕业设计管理系统。

2 基于ASP的毕业设计管理系统的设计

基于 ASP的毕业设计管理系统,正是为了解决传统的工作方式给毕业设计管理工作带来的诸多弊端以及给广大师生带来的诸多不便而专门设计的。通过调查研究,整个毕业设计过程主要包括教师填报毕设题目、审核员审核毕设题目、毕设题目的公布、学生选题、公布选题结果等几个大方面,因此可以划分为以下几个功能模块:学生模块、教师模块、审核员模块、管理员模块,对于每个模块都有基于数据库的用户登录系统。为了增强系统功能,还提供了信息发布及文档下载等辅助模块。系统功能结构[2]如图1所示。

图1 毕业设计管理系统的功能结构图

2.1 学生模块

学生模块的功能结构如图2所示。学生通过登陆界面进入学生模块。课题管理功能:可以实现课题选择以及在规定期限内的课题退选与重新选题操作。可查看所有教师的毕业设计题目,点击某个题目还能看到这个题目的详细介绍,如题目简介、题目对学生的知识能力要求等,进而选择一个自己感兴趣的题目。论文上传功能:实现各种论文的上交,以供教师评阅和及时检查,学生也能查询论文成绩。网上答疑功能:学生在毕业设计过程中遇到问题时进行提问,以实现与指导教师的交流。

图2 学生模块的功能结构图

2.2 教师模块

教师模块的功能结构如图3所示。教师通过教师登陆界面进入教师模块。课题申报功能:实现在线课题申报,如课题简介、难易程度、需求人数、对学生的知识能力要求等,还可实现修改或删除已报课题的功能。论文上传功能:实现相关课题的参考文献及任务书、工作计划等资料的上传,以供学生及时下载及查看。网上评阅功能:教师在网上对学生论文进行评阅。网上答疑功能:学生对课题等有疑问时就可以发出帖子,教师根据学生的提问做出相应的答复。

图3 教师模块的功能结构图

2.3 审核员模块

教师在线申报的题目,只有等待审核员检查审批后才能发布出来。审核员通过审核员登陆界面进入审核模块。审核员能看到所有教师的全部题目,点击某个题目的超链接,可以看到题目的详细介绍。若审核通过,题目就会显现在学生模块的可选择题目中。技术实现原理:通过用一个标志字段(shenheFlag)来控制,默认值为0,审核通过后设置为1。

2.4 管理员模块

管理员模块的功能结构如图4所示。管理员通过登陆进入管理员模块,主要负责对系统的全面管理及维护。系统设置功能:选题开放设置及选题时间设置。信息发布功能:发布一些与毕业设计有关的通知或要求等,也包括修改及删除功能。教师管理及学生管理功能:主要实现基本资料的添加、修改及删除功能,还可查看教师的所有课题信息,查看学生的选题情况。题目管理功能:批量删除题目或查看题目基本信息。打印统计功能:按教师名打印出所有已被学生选择的题目及对应学生,也可按班级打印出该班的选题情况,避免手工统计的麻烦。数据备份功能:实现对现有数据库资料、教师上传资料、学生上传资料的基本备份。

图4 管理员模块的功能结构图

3 主要实现技术

3. 1 分页显示技术

对于毕业设计选题页面,由于内容比较多,如果都在一个页面上显示,势必会使网页很长,为此采用了分页显示技术[3],部分代码如下:

通过分页技术,设置每页显示10个记录,使问题呈现页面不再冗长,用户只要点击要浏览的页面号码就可以跳转到相应的页面。与不采用分页显示技术相比较,不仅方便了用户浏览,而且界面也更加美观了。

3.2 文件上传技术

在本系统中有多个模块需要上传文件,这些模块是利用upload组件进行上传文件管理[4],并且为每个上传的文件添加一个描述信息,以方便其他用户进行下载使用。本系统借助一个免费的文件上传组件——lyfupload,它遵从RFC-1867 HTTP请求,它可以在ASP页面中接收客户端浏览器使用encType= "multipart/form-data" 的Form上载的文件。在使用lyfupload之前,必须要在服务器端使用 regsvr32 lyfupload.dll 命令进行注册。

客户端的关键代码为:

3.3 打印技术

在管理员模块中设置有打印统计的功能。该功能的实现方法是调用了IE 6的打印功能,可以对打印页面进设置和预览。并且利用ASP程序段来写入页码,即在每页的右上方都有“总X页,第X页”的字样。

进行打印控制的部分源程序如下:

4 安全性设计

毕业设计管理系统的主要功能体现在面向不同角色的各个模块中,每一模块都有自己的登陆验证系统。为了防止恶意用户的越权使用,或绕过登陆界面直接访问特殊页面,安全性设计非常重要。本系统从以下几方面进行防范。

4.1 IP访问跟踪

这方面主要使用cookies,cookies提供一种方法保存从一个HTTP请求到下一个HTTP请求的信息。它是被Web服务器保存到访问者本地硬盘上的数据,可以跟踪访问者在网站中的访问路径。

首先在数据库中创建一个数据库表trace,用来跟踪用户和其所在的页面。Trace中含三个字段:ID(用户标识符),IP(用户IP地址)和lasttime(最近一次用户动作的时间)。然后定义一个字符型的全局变量$page,在本系统的每个页面给这个变量赋一个值,用户在第一次访问某一页面时,首先得到该页面的变量$page的值,随机产生一个唯一的 ID值,将该ID值存入到cookies中,同时,得到访问时间$time和用户IP地址$ip,执行SQL语句将数据插入到表trace中。

Sql=“insert into trace(ID,IP,page,lasttime) values(‘$id’,’$ip’,’$page’,’$lasttime’)”

在该用户访问另一个页面时,首先会检查该用户是否有ID值,如果有,则在数据库表trace中查询对应的记录,并更新其最近动作时间及所在页面;如果没有,就生成一个唯一的ID值。

4.2 Session技术的应用

Session是用户在登录后,在服务器上记录一些信息。Session变量是个有规律的全局变量,当一个Session变量被注册,可以在所有的页面上得到 Session值。用Session(“variable_name”)可以注册一个 Session 变量。在所有并发的用Session就使用Session_start()函数,变量的值将作为一个Session变量注册为Session。

本系统在用户登录时使用session技术,用来保存用户名和密码。用户在访问一个页面时,在页面的一开始利用Session_start()函数打开一个Session,如果用户还没有登录,就弹出一个用户登录的界面。如果用户已经登录过,程序就会取得该用户已经注册过的用户名和密码来认证该用户是否有进入该页面的权限。另外,本系统使用session技术,可以对数据库中的记录操作进行日志记录。

4.3 用户登录的安全检测

网站中通过使用用户资格认证,要求用户输入用户名和密码,达到加密内部网页的目的。然而,用户可输入一些特殊的字符使得认证系统失效。假设 user是数据表名,表中的字段有username(用户名)和password(密码)。在用户登录时,用户输入用户名和密码后,系统会执行这样一条 SQL语句:

sql=“select*from user where username=’&username &”’and password=’&password&”’”

如果用户输入用户名为a’ or 1=1,密码为任意的字符,此时执行的sql语句为:

sql=“select*from user where username= ‘&a’ or 1=1 and password= ‘&password’”

由于运算符or和“1=1”恒成立,因此得出数据库中有该用户的错误结果。本系统对此问题进行了很好的解决。在用户登录输入用户名和密码后,系统进行了两层检测:第一层检测是,如果用户输入的字符中有空格、“”及“=”中的一种,就判断为非法输入,要求用户重新输入,如果重复输入的次数大于 3,则对该用户的 IP进行封闭;第二层检测是如果用户输入的信息在数据库进行检索后,满足条件的记录数大于1,因为在本系统中设定用户名唯一,所以就判定为非法输入,要求用户重新输入。

5 结束语

ASP为建立动态、交互、高性能的Web应用提供了一种简便高效的技术途径,在目前是开发人员进行 Web应用系统设计的一个良好的选择。基于 ASP的毕业设计管理系统的开发以提高毕业设计管理水平为目的,为毕业设计管理搭建先进的管理平台。它能够适应高校毕业设计管理各个阶段的任务要求,及时反映高校毕业设计过程中的工作动态,有效解决高校毕业设计工作中所面临的一些难题,使高校整个毕业设计的管理实现信息化、网络化和规范化,最后实现提高决策效能的目的。

[1]吴琦.高校毕业设计管理系统的设计与实现[J].荆门职业技术学院学报,2008,23(3):66-69.

[2]丁光惠,唐正连,杨伟等.基于 B/S的毕业设计管理系统开发[J].湖北汽车工业学院学报,2006,20(4):71-73.

[3]扬国才,王建峰,王玉昆.基于 Web的远程自学型教学系统设计及实现[J].计算机应用,2000, 20(4): 61-63.

[4]陈永强,谢维成,李茜.ASP数据库开发经典实例精解[M].北京:机械工业出版社, 2006.

猜你喜欢

毕业设计页面选题
刷新生活的页面
高校毕业设计展吸引业内眼球
本刊诚征“独唱团”选题
谈诗词的选题
本刊诚征“独唱团”选题
本刊诚征“独唱团”选题
毕业设计优秀作品选登
基于FPGA的毕业设计实践平台实现
Web安全问答(3)
顶岗实习、毕业设计与就业一体化的探索与实践