毕业设计(论文)-ASP在线比赛系统设计.docx_第1页
毕业设计(论文)-ASP在线比赛系统设计.docx_第2页
毕业设计(论文)-ASP在线比赛系统设计.docx_第3页
毕业设计(论文)-ASP在线比赛系统设计.docx_第4页
毕业设计(论文)-ASP在线比赛系统设计.docx_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在线比赛系统毕 业 设 计 论 文题目: 在线比赛系统系 别: 信息技术与管理系专 业: 司法信息安全专业姓 名: 学 号: 指导教师: 浙江警官职业学院2012年 5月 28日摘要 随着网络的普及和对教育的重视,各院校各学科的网上考试都具有了必要的使用环境。但是,目前国内的一些网络比赛系统的主要功能是比赛,不能单独作为教学平台,通用性差,而且系统中对主观题的评阅多是采用自动评阅方式,没有实现真正意义上的人工评分。另一方面,我们所在院校的计算机基础课已开设了多年,但尚在沿用传统的比赛形式或使用纸式的比赛形式。基于web的网上比赛系统的设计与实现就是基于上述目的开发设计的。本系统采用b/s架构作为系统的总体结构,以sql server 2005数据库技术为依托,利用微软的asp技术,结合odbc,实现了对sql server 2005数据库的访问和查询。该设计实现了在线比赛、题库管理、系统管理的功能,能够对客观题在线评分。学生必须注册自己的信息,然后使用学号,姓名,密码登录成功后,可以开始比赛,之后选择题目类型进入比赛页面,完成相应比赛,教师批改后给出比赛成绩。系统管理,实现了对题库、参赛者信息、比赛成绩、系统基础信息的管理。题库管理,实现了对试题的添加、编辑、删除功能;参赛者信息管理可以添加、修改、删除、查询参赛者信息,成绩管理可以评出成绩信息,系统基础信息管理主要是查看注册人数、浏览人数、题型、题目数量。基于web的在线比赛系统本身是一个很大的系统,尤其试题库部分需要许多人的参与以及大量的投入才能建成。该系统虽然仅仅是完成信息安全大赛的比赛,但却具有良好的实用性与通用性,提供友好的人机界面,具有较好的可扩充性和开放性。论文关键词:aspb/s在线比赛系统sql数据库summary:with the popularity of the network and the importance of education, the institutions of various subjects on-line examinations have the necessary use of the environment. however, there are some domestic network teaching system main function is teaching, not alone as a test platform, general poor, and the system on the subjective question of ping yue ping yue mostly artificial means, there is no real sense of the automatic scoring. on the other hand, the institutions where we have set up basic computer classes for many years, but still follow the traditional examination forms or use stand-alone version of the exam system. web-based online examination system is based on the purpose and implementation of development and design. the system uses the b / s structure as the systems overall structure to web database technology as the basis, using microsofts asp technology, combined with odbc, realized the web database access and queries. the design is achieved by randomly questions in paper selection, online exam, question bank management, system management functions, to question the objective line score. students with student id login is successful, read the exam notes, and then select the test subjects into the test page, complete the appropriate subject examination, examination results are given automatically. system management, implementation of test database, candidate information, examination results, test subjects of management. question bank management, and the addition of questions, edit, delete functions; candidate information management can add, modify, delete, query candidates information, performance management, performance information can be deleted, subject mainly to modify the test subjects management information. web-based online examination system itself is a great system, in particular, part of item bank need the participation of many people and lots of investment to build. although the system is just the completion of computer culture and operating system coursepaper keywords: asp b / s database of network test system目 录第一章引言31.1开发背景31.2开发意义3第二章 系统开发工具及开发平台32.1开发工具及平台32.2开发工具的简单介绍32.2.1 iis32.2.2 asp32.2.3 sql server 200532.2.4 访问数据库:odbc3第三章 系统分析33.1 系统及需求分析33.1.1 系统需求33.1.2 可行性分析33.2 系统功能简介33.2.1 用户登录及注册模块33.2.2 在线比赛模块33.2.3 试题管理模块33.2.4 学生信息管理模块33.2.5 教师管理模块33.2.6 成绩管理模块3第四章 系统总体设计34.1 系统架构设计34.2 系统功能模块划分3第五章 数据库设计35.1 总体设计35.2 表设计35.2.1 学生表 student35.2.2 教师表 teacher35.2.3 单选题表 choice35.2.4 多选题表 duoxuan35.2.5 判断题表 panduan35.2.6 填空题表 tiankong35.2.7 简答题表 jianda35.2.8 分析题表 fenxi35.2.9 成绩表 chengji3第六章 系统功能设计与实现36.1 连接数据库模块设计36.2 过滤敏感字符模块设计36.3 用户操作介绍36.3.1 用户登录36.3.2 用户注册36.3.3 用户修改密码36.3.4 用户进入比赛36.3.5 用户查看成绩36.5 教师操作介绍36.5.1 试题库添加管理36.5.2 试题库维护管理36.5.3 学生管理36.5.4 成绩管理36.5.5 系统管理3第七章 系统安全介绍37.1 sql注入简介37.2 防止sql注入37.2.1 防止地址栏sql注入37.2.2 防止输入框sql注入37.2.3 限制输入字符的长度37.3 防止后台身份绕过漏洞37.4 防止恶意注册、登录3总结3致谢3参考文献3第一章 引言1.1开发背景internet技术的发展使得比赛的技术手段和载体发生了革命性的变化,internet的开放性、分布性的特点和基于internet的巨大的计算能力使得比赛突破了时间和空间的限制。与传统比赛模式相比,在线比赛具有无可比拟的优越性,它可以将传统比赛过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度增加比赛成绩的客观性和公正性。传统的比赛方式一般要经过人工出卷、考生考试、人工监考等过程。对于一些比赛来说,随着考生数量的增加,教师出卷阅卷的工作量将会越来越大,并且其工作十分烦琐和非常容易出错。在线比赛系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的建设,目的是充分利用学校现有的计算机软、硬件和网络资源实现无纸化考试以避免传统手工比赛的不足。与传统比赛模式相比,在线比赛渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过internet来实现在线考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教育和比赛分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行比赛,实现比赛的客观性、公证性,自动化组卷、阅卷可以减轻教师的工作强度。传统比赛要求老师刻试卷、印试卷、安排比赛、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。在线比赛系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生进行比赛,加上sql server 2005数据库技术的利用,大大简化了传统比赛的过程。本文以internet为平台,研究了基于在线比赛系统的设计与开发,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了用户注册模块、用户登录模块、在线比赛模块、试卷管理模块、用户管理模块、成绩管理模块的设计。1.2开发意义在网络技术逐渐渗入社会生活各个层面的今天,传统的比赛方式也面临着变革,而网络比赛则是一个很重要的方向。在线比赛系统可以借助于遍布全球的internet进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了比赛的灵活性。试卷可以根据题库中的内容即时生成,可避免比赛前的压题;而且可以采用大量标准化试题;还可以直接把成绩送到数据库中,进行统计、排序等操作。所以现在较好的比赛方法为在线比赛,试题内容放在服务器上,考生通过姓名、学号和口令进行登录,比赛答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络比赛方式将是以后比赛发展的趋势。近几年来,借鉴发达国家的成功经验,结合我国的实际情况,伴随着网络应用的不断扩大,远程教育和虚拟大学的出现,网络应用正不断深入人心。人们迫切要求利用网络技术进行在线比赛,来提高了比赛的质量,突出公正和客观性,减轻组织及保障工作的负担,提高工作效率。于是许多教育教学类的课程在线比赛软件应运而生,高等学校,企事业单位也都纷纷组织研究此类应用的解决方案,并研制开发了大量的不同类型计算机在线比赛软件,也推出了一批优秀的在线比赛软件产品,比如电子商务在线比赛,全国软件开发设计比赛等等。有力地推动了我国网络化在线第二章 系统开发工具及开发平台2.1开发工具及平台本系统采用asp模式开发制作,用dreamweaver8.0和sql server 2005作为开发工具,用web数据库理论设计数据库,sql语言进行数据库查询、插入、删除等操作,用iis5.0作为系统的服务器,设计出能实现各个功能模块的web应用程序(b/s)模式。2.2开发工具的简单介绍2.2.1 iisinternet information services(iis,互联网信息服务),是由微软公司提供的基于运行microsoft windows的互联网基本服务。最初是windows nt版本的可选包,随后内置在windows 2000、windows xp professional和windows server 2003一起发行,但在windows xp home版本上并没有iis。iis(inter-ic sound bus)又称i2s,是菲利浦公司提出的串行数字音频总线协议。目前很多音频芯片和mcu都提供了对iis的支持。iis总线只处理声音数据。其他信号(如控制信号)必须单独传输。为了使芯片的引出管脚尽可能少,iis只使用了三根串行总线。这三根线分别是:提供分时复用功能的数据线、字段选择线(声道选择)、时钟信号线。 iis是internet information services的缩写,是一个world wide web server。gopher server和ftp server全部包容在里面。 iis意味着你能发布网页,并且有asp(active server pages)、java、vbscript产生页面,有着一些扩展功能。iis支持一些有趣的东西,像有编辑环境的界面(frontpage)、有全文检索功能的(index server)、有多媒体功能的(net show) 其次,iis是随windows nt server 4.0一起提供的文件和应用程序服务器,是在windows nt server上建立internet服务器的基本组件。它与windows nt server完全集成,允许使用windows nt server内置的安全性以及ntfs文件系统建立强大灵活的internet/intranet站点。iis(internet information server,互联网信息服务)是一种web(网页)服务组件,其中包括web服务器、ftp服务器、nntp服务器和smtp服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。2.2.2 aspasp是active server page的缩写,意为“动态服务器页面”。asp是微软公司开发的代替cgi脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。asp的网页文件的格式是.asp,现在常用于各种动态网站中。asp是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。asp网页可以包含html标记、普通文本、脚本命令以及com组件等。利用asp可以向网页中添加交互式内容(如在线表单),也可以创建使用html网页作为用户界面的web应用程序。 与html相比,asp网页具有以下特点: 1) 利用asp可以实现突破静态网页的一些功能限制,实现动态网页技术; 2) asp文件是包含在html代码所组成的文件中的,易于修改和测试;3) 服务器上的asp解释程序会在服务器端执行asp程序,并将结果以html格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览asp所产生的网页; 4) asp提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过html表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息; 5) asp可以使用服务器端activex组件来执行各种各样的任务,例如存取数据库、发送email或访问文件系统等。 6) 由于服务器是将asp程序执行的结果以html格式传回客户端浏览器,因此使用者不会看到asp所编写的原始程序代码,可防止asp程序代码被窃取。 (7) 方便连接access与sql数据库. (8)开发需要有丰富的经验,否则会留出漏洞,让骇客(cracker)利用进行注入攻击. asp也不仅仅局限于与html结合制作web网站,而且还可以与xhtml和wml语言结合制作wap手机网站。但是其原理也是一样的。2.2.3 sql server 2005 microsoft sql server 2005是一个高性能的客户端/服务器结构的关系数据库管理系统。sql server 2005是为了支持高容量的事务处理以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在microsoft windows nt4或microsoft windows 2005 server上-基于intel处理器的网络。可以把sql server 2005作为一种个人桌面数据库系统安装在运行window nt workstation 4、windows 2003 professional、windowsxp和windows 7的机器上。可以使用相同的cd来安装任何一个sql server 2005的服务器版本或个人版本。2.2.4 访问数据库:odbc开放数据库互连(open database connectivity,odbc)是微软公司开放服务结构(wosa,windows open services architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准api(应用程序编程接口)。这些api利用sql来完成其大部分任务。odbc本身也提供了对sql语言的支持,用户可以直接将sql语句送给odbc。odbc现在看来是一个比较古老的东西,在1996年左右就比较定型了,其最新的版本是3.52,microsoft也不打算对它做什么大的更新,更多的目光应该被放到oledb、.net data provider身上了。然而,正因为它是一个比较成熟和古老的规范,odbc在大多数dbms上都做可以使用,可以说一个像样的dbms都应该支持odbc 3.0或以上的版本。 一个基于odbc的应用程序对数据库的操作不依赖任何dbms,不直接与dbms打交道,所有的数据库操作由对应的dbms的odbc驱动程序完成。也就是说,不论是foxpro、access还是oracle数据库,均可用odbcapi进行访问。由此可见,odbc的最大优点是能以统一的方式处理所有的数据库。 开放数据库互连(odbc)是microsoft引进的一种早期数据库接口技术。它实际上是我们要在本章后面加以讨论的ado的前身。microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。换句话说,访问dbf文件或access basic以得到mdb文件中的数据时,无需懂得xbase程序设计语言。事实上,visual c+就是这样一个程序设计平台,即microsoft最初是以odbc为目标的。 你会发现,odbc工作起来和windows一样,它用包含在dll内的驱动程序完成任务。其实,odbc提供一套两个驱动程序:一个是数据库管理器的语言,另一个为程序设计语言提供公用接口。允许visual c+用标准的函数调用经公用接口访问数据库的内容,是这两个驱动程序的汇合点。当然,还有其它和odbc有关的实用程序类型的dll。例如,一个这样的dll允许你管理odbc数据源。odbc的实际管理接口出现在system文件夹中的某个cpl(控制面板)文件中枣我们在后面要谈到这方面的问题。odbc的确能履行承诺,提供对数据库内容的访问,并且没有太多的问题。它没有提供数据库管理器和c之间尽可能最好的数据转换,这种情况是有的,但它多半能像广告所说的那样去工作。唯一影响odbc前程的是,它的速度极低枣至少较早版本的产品是这样。odbc最初面世时,一些开发者曾说,因为速度问题,odbc永远也不会在数据库领域产生太大的影响。然而,以microsoft的市场影响力,odbc毫无疑问是成功了。今天,只要有两种odbc驱动程序的一种,那么几乎每一个数据库管理器的表现都会很卓越。第三章 系统分析3.1 系统及需求分析3.1.1 系统需求通过调查,要求系统需要有以下功能:(1) 在主页面内选择不同的身份(教师,学生)登录不同的用户界面及用户选择注册。(2) 教师模块:可以增加,删除,修改试题及查看学生的成绩信息并可对自己的信息进行维护(3) 学生模块,根据自己的用户名密码登录考试界面,进行考试,考试完后可以查看考试成绩并可对自己的信息进行维护。区队姓名学号性别密码学生图3.6 学生信息用例图学生信息的用例图如图3.6所示:学生系统功能用例图如图3.7所示:图3.7 学生功能用例图修改密码查看成绩账号注册参加比赛学生教师信息的用例图如图3.8所示:用户名密码教师图3.8 教师信息用例图教师功能的用例图如图3.9所示:试题库管理学生信息管理评分用户名、密码修改教师图3.9 教师功能用例图3.1.2 可行性分析可行性分析是在系统调查的基础上,针对新系统的开发是否具有必要性和可行性,对新系统的开发从技术、经济、社会的方面进行可行性分析和研究,以避免投资失误,保证新系统的开发成功。可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题是否能解决。该系统的可行性分析包括如下几个内容:(1)技术方面的可行性:它主要分析技术条件是否顺利完成开发工作,软硬件是否满足开发者的需要等。其中,软件方面在线考试需要的软件环境都已具备,数据库服务器方面则有sql server 2005,够处理大量数据,同时保持数据的完整性并提供许多高级管理功能,其灵活性、安全性、易用性为数据库编程提供了良好的条件。 (2) 经济方面的可行性:主要是对这项经济效益进行评价,本系统作为一个视讯的项目,无需开发经费并且这系统实施后可以显著提高考试效率,有助于学院实行网络管理化。(3) 操作方面的可行性:目前,大学校园网络覆盖了教学区和学生区的主要建筑物,从而满足各学院、各职能部门、各直属单位上网要求,学校良好的网络设施为开发使用无纸化考试网络系统提供了坚实基础。综上所述,此系统开发目标已经明确,在经济和技术等方面可行,并且投入少见效快。3.2 系统功能简介3.2.1 用户登录及注册模块用户输入登录信息接受用户登录信息学号姓名密码验证码是否为空提示学号、姓名、密码、验证码 不能为空yesno按照学号、姓名查询学号、姓名已存在吗?no重新输入密码、验证码 正确吗?no重新输入登录yesyes图3.1用户登录模块执行流程用户登陆,验证用户的信息是否合法,用户在使用之前必须登录。用户只要输入学号、姓名、密码、验证码就可以了。若用户输入的以上四项与数据库中保存的相符,则表明用户登录成功,可以开放该用户对应的系统;如果不符,则登录失败。如果用户要注册,模块执行流程如图3.3所示。其中管理员、用户登录模块执行流程类似,文件为:index.asp 和jiaoshi.asp 如图3.1所示 用户注册,验证用户注册的信息是否合法,用户在登录之前必须注册。用户输入区队、学号、姓名、性别、密码、验证码就可以了。若用户输入的以上六项在符合条件内,则表明用户注册成功,可以登录系统;如果不符,则注册失败。如果用户要注册,模块执行流程如图3.2所示。用户输入注册信息接受用户注册信息输入的信息是否为空?按照学号、名字查询输入的信息是否符合要求?学号、名字不存在?注册成功重新输入重新输入重新输入yesyesyesnono图3.2 用户注册模块执行流程3.2.2 在线比赛模块在此模块中包含密码修改,题库生成,成绩查询等模块。进入在线比赛系统。系统会先判断是否已经参加过比赛,如果已参加过比赛的,就不能再进行比赛,只能查看比赛成绩。第一次参加的学生,先选择题型,可以根据自己的喜好来选择题型,然后系统会自动调出该题型的题目,考生可以不按照题目或者题型顺序来答题。每个题型的答题时间有限定。当考生完成所有题型后考生交卷。3.2.3 试题管理模块题库管理包括选择题管理、判断题管理、填空题管理、简答题管理、分析题管理。教师可以通过题库管理对各种类型的试题进行添加、修改以及删除。题库管理功能模块图如下图所示,各种类型试题的管理功能均类似,主要的操作有:添加试题、删除试题、修改试题和查看试题。如图3.3所示。 图3.3 题库管理 3.2.4 学生信息管理模块学生管理模块包括查询信息、更改信息、删除信息等操作。如图3.4所示。图3.4 学生信息管理 3.2.5 教师管理模块 该模块能修改教师登录的用户名和密码。3.2.6 成绩管理模块本模块共分查询成绩、评分、删除信息等功能。如图3.5所示。图3.5成绩管理模块第四章 系统总体设计4.1 系统架构设计本系统采用asp+iis应用程序的典型系统架构模式:数据库数据访问层业务逻辑层。数据库是应用系统的基础,它保存系统中所有数据。数据访问层封装对数据库的操作,如创建数据库连接、打开数据库连接、执行存储过程和关闭数据库连接等。在本系统中,业务逻辑层与应用系统的上层业务数据库的关联,它调用数据库访问层,同时也为上层页面表示层服务。业务逻辑层通过数据访问层实现对数据库的操作,同时为应用系统的页面表示层服务提供访问数据库的接口或函数等。(document类)为介绍业务逻辑层的实现方法。页表表示层实现应用系统的具体页面。它一般有web页面或控件组成,如系统主页面index.asp、系统管理页面guanli.asp、注册页面yonghu1.asp、比赛页面bisai.asp等。如图4.1.页面表示层业务逻辑层数据访问层数据库图4.1系统架构4.2 系统功能模块划分从前面章节可以看出,本系统实现了2个角色的功能,8个角色下的功能。2个角色功能为学生和老师。8个角色下的功能为在线比赛、成绩查询、密码管理、添加试题、维护试题、成绩查询、评分、信息管理。可以根据这些功能设计出系统中的功能、模块。系统中的各个模块划分如图4.2所示:图4.2 功能分析第五章 数据库设计5.1 总体设计考虑到在线比赛系统的实际需要,本系统需要的数据至少包括不同角色的用户数据以及单选题数据、多选题、判断题数据、填空题数据、简答题数据、分析题数据和成绩数据。学生的用户数据主要包括用区队、学号、密码、性别、姓名等数据;试题数据主要包括试试题题目、试题选项、参考答案等数据;成绩数据主要包括试题号、学生姓名、学生学号、单选题成绩、多选题成绩、判断题成绩、填空题成绩、简答题成绩、分析题成绩和总成绩等数据。5.2 表设计5.2.1 学生表 studentstudent表包括学生信息数据,如id、区队、姓名、学号、密码、性别、注册时间的详细描述等。表的字段说明如表5.1所示。图5.1 学生表5.2.2 教师表 teacher教师表teacher包括教师信息数据,如id、用户名、密码详细描述等。表的字段说明如表5.2所示。图5.2 教师表5.2.3 单选题表 choice单选题表choice用来存储单选题数据,如id、题目、选项、参考答案等。表的字段说明如表5.3所示。图5.3 单选题表5.2.4 多选题表 duoxuan多选题表duoxuan用来存储多选题数据,如id、题目、选项、参考答案等。表的字段说明如表5.4所示。图5.4 多选题表5.2.5 判断题表 panduan判断题panduan用来存储判断题数据,如id、题目、参考答案等。表的字段说明如表5.5所示。图5.5 判断题表5.2.6 填空题表 tiankong填空题表tiankong用来存储填空题数据,如id、题目、参考答案等。表的字段说明如表5.6所示。图5.6 填空题表5.2.7 简答题表 jianda简答题表jianda用来存储简答题数据,如id、题目等。表的字段说明如表5.7所示。图5.7 简答题表5.2.8 分析题表 fenxi分析题表fenxi用来存储分析题数据,如id、题目等。表的字段说明如表5.8所示。图5.8 分析题表5.2.9 成绩表 chengji成绩信息表chengji用来存储成绩数据,如学生姓名、学生学号、单选题成绩、多选题成绩、判断题成绩、填空题成绩、简答题成绩、分析题成绩、总成绩等的详细描述。表的字段说明如表5.9所示。第六章 系统功能设计与实现6.1 连接数据库模块设计数据库连接是连接数据库的必须对象该类定义了一个连接字符串conn,该字符串在整个设计中都可以使用。函数server.createobject()和open()分别实现创建数据库连接(包括打开数据库的连接)、关闭数据库连接和释放数据库连接的功能。在文件conn.asp中写入函数:student,teacher,等。连接数据库函数代码如下:我们把需要用到连接数据库的网页的头部把conn.asp文件包含进来,从而达到连接数据库的目的,包含网页的代码如下:这里需要提一点,如果要使用sql语言,则需要把adovbs.inc文件给包含进来,不然就不能在网页上执行带有sql语言的代码,包含adovbs.inc文件的代码如下:6.2 过滤敏感字符模块设计在代码安全方面,特别要注意的是防止sql注入攻击,所以我们要对输入进来的字符进行一个过滤处理,把带有关于数据库操作的敏感字符如:(、select、&等进行一个过滤,保护网站安全。过滤敏感字符代码如下:%dim getflag remdim errorsql remdim requestkey remdim fori remerrorsql = ;|+or$=and&execinsertdeleteupdatecount*%chrmidmastertruncatechardeclare rem( ) 过滤敏感字符errorsql = split(errorsql,)if request.servervariables(request_method)=get then 当使用get方法传递时getflag=trueelsegetflag=falseend ifif getflag thenfor each requestkey in request.querystringfor fori=0 to ubound(errorsql)if instr(lcase(request.querystring(requestkey),errorsql(fori)0 then response.write alert(果冻警告:n请不要提交非法参数!);location.href=./index.asp; 检查到敏感字符时跳出警告框,并且返回登录首页response.endend ifnextnext elsefor each requestkey in request.form 当使用post方法传递时for fori=0 to ubound(errorsql)if instr(lcase(request.form(requestkey),errorsql(fori)0 thenresponse.write alert(果冻警告:n请不要提交非法参数!);location.href=./index.asp; 检查到敏感字符时跳出警告框,并且返回登录首页response.endend ifnextnextend if%6.3 用户操作介绍用户登录和注册是本应用程序的功能,用户登录是应用程序的入口,而且用户只有注册过才能通过登录才能进入系统中。6.3.1 用户登录用户登录由页面index.asp实现,它的代码隐藏文件为denglu.asp。该页面也是整个应用程序的起始页面,用户都是从该页面登陆进入系统中的。u 页面设计为了实现用户登录功能,应用程序在该页面添加4个text控件、1个button控件,它们的名称分别为username、usernum、userpwd、checkcode、tijiao。控件username、usernum、userpwd、checkcode分别用来输入姓名、学号、密码和验证码;控件function showhint()分别来执行姓名、学号、密码和验证码的非空验证;提交表格用的是post方法。页面index.asp的设计界面如图6.1所示:图6.1 登录页面u 页面初始化设置页面index.asp为应用程序的起始页面。按f12键运行,出现如图6.2所示的出始界面。图6.2 运行后的登录页面u 用户登录功能分别在username、usernum、userpwd和checkcode文本框中输入姓名、学号、密码和验证码,然后单击登入按钮触发事件onclick,该事件实现检测输入的内容是否为空。该功能调用函数function showhint()。设计的代码如下:function showhint() var username=document.getelementbyid(username);usernum=document.getelementbyid(usernum);userpwd=document.getelementbyid(userpwd);checkcode=document.getelementbyid(checkcode)if(usernum.value=) 检测学号是否为空alert(请填写学号!);return false;if(username.value=) 检测姓名是否为空alert(请填写姓名!);return false;if(userpwd.value=) 检测密码是否为空alert(请填写密码!);return false;if(checkcode.value=) 检测验证码是否为空alert(请填写验证码!);return false;xmlhttp.send();判断完成之后,调用post函数传递到后台文件denglu.asp。后台接受输入的字符进行判断,首先检测输入的信息的长度是否符合输入的规范,如:学号必须是9位的数字、姓名不能 超过10个字符、密码是否在6到16位之间、验证码是否正确。检测的代码如下:if len(usernum)9 then response.write alert(请输入9位数字学号!); response.write javascript:history.go(-1) elseif len(username)10 then response.write alert(姓名不能大于10个字符!); response.write javascript:history.go(-1) elseif len(userpwd)16 or len(userpwd)6 thenresponse.writealert(密码不能少于6位或者大于16位!);response.writejavascript:history.go(-1) else if (trim(checkcode)session(getcode) then response.write(alert(您填写的验证码不正确,请重新填写!);history.go(-1);) 检测完成之后,查询数据库中是否存在此用户,然后判断密码是否正确,如果正确则进入系统,并且定义相信的session()反之则提示错误返回登录框。代码如下:commandtext = select * from student where username=&username&and userpwd=&userpwd&and usernum=&usernum& set rs=conn.execute (commandtext,recordsaffected,adcmdtext) if rs.eof and rs.bof then response.write alert(输入错误,请重新填写!);history.go(-1);else session(username)=username session(usernum)=usernum url=yonghu.asp response.redirect url 如果是教师,其过程同上,跳到管理员助页面。6.3.2 用户注册单击首页(index.asp)中的“立即注册”超链接会跳到对应的注册(yonghu1.asp)界面,点击注册按钮,将触发学生注册(yonghu2.asp)事件。为了实现该页面功能添加了5个text控件,1个radio控件, 1个button控件,名称分别为:qudui、username、usernum、userpwd、 checkcode、sex、tijiao。单击注册按钮将触发onclick事件,先判断输入的内容是否为空,如果为空则弹出提示框,用户重新输入(代码详情请看登录)。如果不为空则跳到yonghu2.asp进行代码的判断,首先判断输入的数据长度是否符合要求,验证码是否正确,代码如下:if len(qudui)10 then response.write alert(区队不能大于10个字符!); response.write javascript:history.go(-1) else if len(username)10 then response.write al

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论