




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
web系统开发与实践大作业“精品课程网”系统设计与实现姓 名 学 号(1): 姓 名 学 号(2): 姓 名 学 号(3): 姓 名 学 号(4): 姓 名 学 号(5): 姓 名 学 号(6): 姓 名 学 号(7):姓 名 学 号(8): 姓 名 学 号(9):姓 名 学 号(10): 姓 名 学 号(11): 大连理工大学dalian university of technology1 绪论41.1 背景介绍与意义41.2 系统的具体分工52 相关技术介绍63 系统的需求分析(页数4-8页)143.1 系统的主要模块分析143.2 系统的非功能需求分析174 系统的设计与实现184.1 系统的总体设计184.2 系统的详细设计与实现194.2.1“登录”功能模块的设计与实现194.2.2“考试资源”功能模块的设计与实现224.2.3“论坛”功能模块的设计与实现224.2.4“新闻周知”功能模块的设计与实现274.2.5其他模块简介284.2.6系统的数据库设计与实现295 系统的测试35结 论38参 考 项 目39- iii -1 绪论1.1 背景介绍与意义信息时代,随着计算机技术以及通信网络的飞速发展,信息的发布和交流开始越来越广泛,利用计算机、网络管理和信息采集势在必行。对于各大高等院校来说,利用计算机互联网进行网上办公、网上日常事务管理、网上财务管理、网上教学管理等,是适应现代化教学的一个基础和要求、是推动高校管理的科学化、规范化、科学化的必要条件。精品课程网站应具有很强交互性,为用户提供一个更全方位的网络体验。为了符合用户的需求,该系统应从操作简便、界面友好、灵活、实用、安全的要求出发,完成高校精品课程管理的全过程。为贯彻落实党的十六大精神,实践三个代表重要思想,切实推进教育创新,深化教学改革,促进现代信息技术在教学中的应用,共享优质教学资源,进一步促进教授上讲台,全面提高教育教学质量,造就数以千万计的专门人才和一大批拔尖创新人才,提升我国高等教育的综合实力和国际竞争能力,教育部决定在全国高等学校(包括高职高专院校)中启动高等学校教学质量与教学改革工程精品课程建设工作(以下简称精品课程建设)。现将有关事宜通知如下:精品课程是具有一流教师队伍、一流教学内容、一流教学方法、一流教材、一流教学管理等特点的示范性课程。精品课程建设是高等学校教学质量与教学改革工程的重要组成部分。各省级教育行政部门和各高等学校要进一步更新教育观念,贯彻落实教育部关于加强高等学校本科教学工作提高教学质量的若干意见(教高20014号)精神,提高对人才培养质量重要性的认识,紧紧抓住提高人才培养质量这条生命线,确保教学工作的中心地位,以培养满足国家和地方发展需要的高素质人才为目标,以提高学生国际竞争能力为重点,整合各类教学改革成果,加大教学过程中使用信息技术的力度,加强科研与教学的紧密结合,大力提倡和促进学生主动、自主学习,改革阻碍提高人才培养质量的不合理机制与制度,促进高等学校对教学工作的投入,建立各门类、专业的校、省、国家三级精品课程体系。各高等学校要根据本通知要求,认真规划、精心组织,尽快启动本校精品课程建设工作,并保证精品课程的可持续发展。在组织规划精品课程建设时,要以基础课和专业基础课的精品课程建设为主,充分考虑学科与专业分布以及对学校教学工作的示范作用,要把精品课程建设与高水平教师队伍建设相结合。各高等学校还要切实加大和保障对精品课程建设的经费投入。在确保教高20014号文件规定的学校学费收入中用于日常教学的经费一般不应低于20 仪器设备修理、教学差旅、体育维持等基本教学经费得到落实的基础上,各高等学校还应从事业费拨款中安排一定比例用于精品课程建设。1.2 系统的具体分工组长:许梦卓分工:网站整体设计,需求分析,页面功能验收,网站整合调整测试,管理员权限部分,辅助其他模块实现组员:李杨分工:数据库设计,底层架构设计, “课堂效果”模块,网站安全性,rss部分,辅助其他模块实现组员:张欣禹分工:网站页面风格设计,网站首页、模板页设计,“考试资源”模块组员:孙明分工:“学习论坛”模块组员:白泽钊分工:“教学资源”“实践成果”模块管理员上传部分组员:张楚分工:“新闻周知”“课程介绍”模块页面美工组员:王媛媛分工:“教学资源”“实践成果”模块页面美工组员:尹昊分工:“新闻周知”模块实现组员:王闯分工:“课程介绍”模块实现组员:朱杰分工:“教学资源”“实践成果”模块管理员下载部分2 相关技术介绍 网站采用的技术主要有:c#,.net,ajax,fck editor,sql sever,html,div+css,flashc#(1) c#简介c#是由microsoft公司开发的一种新型程序设计语言。由于它是从c和c+中派生出来的,因此具有c+的功能。c#代表着程序设计语言演变的一个新阶段,它继承了c+和java这两种世界上最重要的计算机语言的优点,并且还增加了指代、索引等创新性特点。同时,c#语言利用了.net作为其强大的平台,使得它在windows图形用户界面、asp. net、web应用、xml web service及ado. net数据库等方面有广泛的应用4。(2) c#的特点 与web的紧密结合。c#程序能方便与web程序进行集成。利用asp. net的强大功能,c#能与web标准,如html和xml相结合5。c#还能方便地开发web服务,紧密地结合soap (simple object access protocol),使得c#开发大规模深层次的分布式应用成为可能。 安全稳定。c#特有的机制是其安全性的保障,同时它去除了c+中易造成错误的指针,增加了自动内存管理等措施,保证了c#程序运行的可靠性。内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担,. net平台提供的垃圾收集器(garbage collection, gc)将负责资源的释放与对象撤销时的内存清理工作6。同时,变量的初始化、类型检查、溢出检查等功能也充分保证了c#程序的安全稳定7。 具有丰富的类库。c#提供了大量的类,以满足网络化、多线程、面向对象系统的需要8。 灵活性和兼容性。在简化c+语法的同时,c#并没有推动灵活性9。c#允许与c风格的需要传递指针型参数的应用程序接口进行交互操作,动态链接库的任何入口点都可以在程序中进行访问。c#遵守.net的cls,从而保证了c#组件与其他语言(如visual basic,visual c+,jscript,j#等)的组件间的互操作性。 支持多线程。c#中定义了一些用于建立、管理多线程的类和方法,使得开发具有多线程功能的程序变得简单、容易和有效。.net架构.net架构是微软公司继dos和windows之后推出的又一个革命性的开发平台。.net架构的核心是采用有效的、分门别类的方式来构建应用程序,达到其前所未有的规模,搭建第三代互联网平台10。这个网络平台可以解决网站之间的协同合作,让所有的计算机群、相关设备和服务商能够通过相关的协定联系在一起11。同时提供了比windows更加友好的人机界面,可以通过键盘、鼠标、手写、语音等各种人机交流模式,在任何时间、任何地点、任何设备都最大限度地获取信息,为用户提供最丰富、最全面的服务。.net框架(.net framework)是一种新的计算平台12,通常被认为是有利于应用程序开发的一组类库,但.net不仅仅是一组类库,他是一个建立、配置和运行web服务以及应用程序的多语言环境,是microsoft新一代的web应用程序开发平台。.net框架以使用多种编程语言的编译为目标,实现用这些语言创建各种应用程序。.net框架负责提供一个可为这些应用程序所共享的基础平台,该基础平台包括一组用于监视应用程序执行过程的运行库服务,运行库的一个重要任务就是管理执行过程,以确保使用不同编程语言写的应用软件,都可以安全地使用类和其他服务。在.net框架中,所有编程语言,都可以实现“一次编写,随处运行”,而且不同的语言之间可以进行交互,即一种语言可以使用另一种语言编写的组件,并可以从另一种语言编写的类,派生新类或创建实例。.net framework目的是使开发者更容易建立网络应用程序和网络服务。他简化了在高度分布式internet环境中的应用程序开发13。.net framework旨在实现下列目标:(1) 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在internet上分布,或者是在远程执行的。(2) 提供一个将软件部署和版本控制冲突最小化的代码执行环境。(3) 提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境。(4) 提供一个可消除脚本环境或解释环境性能问题的代码执行环境。(5) 使开发人员的经验在面对类型大不相同的程序(如基于windows的应用程序和基于web的应用程序)时保持一致。(6) 按照工业标准生成所有通信,以确保基于.net framework的代码可于任何其他代码集成。.net framework具有两个主要组件:公共语言运行库和.net framework类库。公共语言运行库是.net framework的基础。可以将运行库看作一个执行管理代码的代理,他提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。.net framework的另一个主要组件是类库,他是一个综合性的面向对象的可重用类型集合,可以使用他开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(gui)应用程序14,也包括基于asp.net所提供的最新创新的应用程序(如web窗体和xml web service)。.net framework可由非托管组件承载,这些组件将公共语言运行库加载到他们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件关键环境。.net framework不但提供若干个允许库宿主,而且还支持第三方允许库宿主的开发。托管代码主要实现了公共语言运行库内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。这些功能是在公共语言运行库上运行的托管代码所固有的。至于安全性,取决于包括托管组件的来源(如internet、企业网络或本地计算机)在内的一些因素,托管组件被赋予不同程度的信任。这意味着即使用在同一活动应用程序中,托管组件既可能能够执行文件访问操作、注册表访问操作或其他须小心使用的功能也可能不能够执行这些功能15。运行库强制实施代码访问安全。例如,用户可以相信嵌入在web页面中的可执行文件能够在屏幕上播放动画或唱歌,但不能访问他们的个人数据、文件系统或网络,这样,运行库的安全性功能就使通过internet部署的合法软件能够具有特别丰富的功能。运行库还通过实现称为通用类型系统(cts)的严格类型验证和代码验证基础结构来加强代码可靠性。cts确保所有托管代码都是可以自我描述的,包括各种microsoft和第三方语言编译器生成符合cts的托管代码。这意味着托管代码可在严格实施类型保真和类型安全的同时使用其他托管类型和实例。此外,运行库的托管环境还消除了许多常见的软件问题。例如,运行库自动处理对象布局并管理对对象的引用,在不再使用他们时将他们释放。这种自动内存管理解决了两个最常见的应用程序错误:内存泄漏和无效内存引用。运行库还提高了开发人员的工作效率。例如,程序员可以用他们选择的开发语言编写应用程序,却仍能够充分利用其他开发人员用其他语言编写的运行库、类库和组件。任何选择以运行库为目标的编译器供应商都可以这样做。以.net framework为目标的语言编译器使得用该语言编写的现有代码可以使用.net framework的功能,这大大减轻了现有应用程序的迁移过程所造成的工作负担。尽管运行库是为未来的软件设计的,但是他也支持现在和以前的软件,托管和非托管代码之间的互操作性使开发人员能够继续使用所需的com组件和dll运行库旨在增强性能。尽管公共语言运行库提供多标准运行库服务,但是他从不解释托管代码。一种被称为实时编译的功能(jit)使所有托管代码能够以他在其上执行的系统的本机语言运行。同时,内存管理器排除了出现零碎内存的可能性,并增大了内存引用区域以进一步提高性能。.net framework类库是一个与公共语言运行库紧密集成的可重用的类型集合。该类库是面对对象的,并提供自己的托管代码可从中导出功能的类型。这不但使得.net framework类库易于使用,而且还减少了学习.net framework新功能所需要的时间。此外,第三方组件可与.net framework中的类无缝集成。.net framework类型能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)16。ajax技术ajax是asynchronous javascript and xml的缩写,它并不是一门新的语言和技术,而是几项技术按照一定的方式组合在一起,在共同的协作中发挥各自的作用。这些技术包括:使用xhtml和css标准化呈现。使用dom实现动态显示和交互。使用xml和xslt进行数据交互和处理。使用xmlhttprequest进行异步数据读取。最后使用javascript绑定和处理所有数据。ajax的工作原理相当于在用户和服务器之间添加了个中间层,使得用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,例如像某些数据验证和数据处理等请求都交给ajax引擎自己来做,只有确定需要从服务器读取新数据时,再由ajax引擎代为向服务器提交请求。 ajax的主要功能在于,改变浏览器客户端和服务器传统的同步的交互同学方式为异步通信交互方式,从而丰富浏览器客户端功能,解决浏览器频繁沙辛页面等待数据传输的问题,改善web应用程序的用户体验。使用ajax,就算不重载刷新页面,用户也可以顺利地快速的得到web服务器的数据。作为web应用程序一部分的ajax的生命周期更像桌面系统的gui,而dom在扮演了类似gui控件的角色。javascript脚本向dom注册事件监听器,操作dom响应事件。在响应事件的过程中,web服务器可能被调用。这个调用是几步进行的,所以事件监听阶段和事件响应阶段是分开的。下面是一个典型的浏览器中ajax应用的生命周期。用户访问:用户访问一个网站,如单击链接或者在浏览器中输入网站的url地址。页面初始化:页面初始化加载,准备处理用户输入或者刷新页面内容。触发浏览器事件:浏览器触发一个事件,比如鼠标单击或者按下键盘。向服务器发起请求:浏览器向服务器发出一个请求。服务器处理请求:服务器收到浏览器发出的请求,调用业务逻辑接口处理请求。服务器响应请求:服务器响应浏览器发出的请求,将处理结果返回。这个返回结果传递给在发出请求时指定的请求调用函数。浏览器更新页面:请求调用函数根据响应结果更新dom内容,比如dom变量或者任何的javascript变量,更新页面内容。使用ajax技术可以大大减轻服务器的负担,减少用户等待时间,改善用户体验,但是完全手工打造基于ajax的web应用是比较复杂的19。幸运的是,在开源的技术和社区迅猛发展的今天,可以免费使用很多优秀的ajax框架来实现具体的应用。 安全性方面: md5加密,防止sql注入1. md5加密md5的全称是message-digest algorithm 5,在90年代初由mit的计算机科学实验室和rsa data security inc发明,经md2、md3和md4发展而来。 md5广泛用于操作系统的登陆认证上,如unix、各类bsd系统登录密码、数字签名等诸多方。如在unix系统中用户的密码是以md5(或其它类似的算法)经hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行md5 hash运算,然后再去和保存在文件系统中的md5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。md5将任意长度的“字节串”映射为一个128bit的大整数,并且是通过该128bit反推原始字符串是困难的,换句话说就是,即使你看到源程序和算法描述,也无法将一个md5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。所以,要遇到了md5密码的问题,比较好的办法是:你可以用这个系统中的md5()函数重新设一个密码,如admin,把生成的一串密码的hash值覆盖原来的hash值就行了。 正是因为这个原因,现在被黑客使用最多的一种破译密码的方法就是一种被称为跑字典的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用md5程序计算出这些字典项的md5值,然后再用目标的md5值在这个字典中检索。我们假设密码的最大长度为8位字节(8 bytes),同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是p(62,1)+p(62,2).+p(62,8),那也已经是一个很天文的数字了,存储这个字典就需要tb级的磁盘阵列,而且这种方法还有一个前提,就是能获得目标账户的密码md5值的情况下才可以。这种加密技术被广泛的应用于unix系统中,这也是为什么unix系统比一般操作系统更为坚固一个重要原因。2.预防sql注入:所谓sql注入,就是通过把sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的sql命令,比如先前的很多影视网站泄露vip会员密码大多就是通过web表单递交查询字符暴出的,这类表单特别容易受到sql注入式攻击string word =and|exec|insert|select|delete|update|chr|mid|master|or|truncate|char|declare|join|; if (intext = null) return false; foreach (string str_t in word.split(|) if (intext.tolower().indexof(str_t + ) -1) |(intext.tolower().indexof( + str_t) -1) |(intext.tolower().indexof(str_t) -1) return true; fckeditor:fckeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。sql server 2005sql server 是一个关系数据库管理系统,它最初是由microsoft sybase 和ashton-tate三家公司共同开发的,于1988 年推出了第一个os/2 版本。在windows nt 推出后,microsoft与sybase 在sql server 的开发上就分道扬镳了。microsoft 将sql server 移植到windows nt系统上,专注于开发推广sql server 的windows nt 版本;sybase 则较专注于sql server在unix 操作系统上的应用。在本书中介绍的是microsoft sql server 以后简称为sql server或ms sql server。 sql server 2005 是microsoft 公司推出的sql server 数据库管理系统的最新版本。比以往版本增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行microsoft windows 98 的膝上型电脑到运行microsoft windows 2000 的大型多处理器的服务器等多种平台使用。 sql server 2005 的特性包括: 1.internet 集成。sql server 2005 数据库引擎提供完整的xml 支持。它还具有构成最大的web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。sql server 2005 程序设计模型与 windows dna 构架集成,用以开发 web 应用程序,并且sql server 2005 支持 english query 和 microsoft 搜索服务等功能,在web 应用程序中包含了用户友好的查询和强大的搜索功能。 2.可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用。 sql server 2005 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 web 站点所需的性能级别。 3.企业级数据库功能。sql server 2005 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。sql server 2005 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 sql server 2005 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。 4.易于安装、部署和使用。 sql server 2005 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 sql server 的过程。sql server 2005 还支持基于标准的、与 windows dna 集成的程序设计模型,使 sql server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 sql server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。htmlhtml(hyper text markup language,超文本标记语言),它是构成网页的基础,因为程序无法控制浏览器的内存,与浏览器之间只有下载网页及上传数据的关系,所以对html语法必须有一定的了解。www上的每个网页都对应一个文件。我们浏览一个页面,要先把页面所对应的文件从提供这个文件的计算机通过internet传送到我们自己的计算机中,再由www浏览器翻译成为我们见到的有文字、有图形甚至有声音的页面。这些页面对应的文件不再是普通的“文本文件”,文件中除包含文字信息外,还包括了一些具体的链接。这些包含链接的文件被称为超文本文件。 和普通文本相比,超文本文件中多了一些对文件内容的注释,这些注释表明了当前文字显示的位置、颜色等信息,更重要的是,在有些注释中包含了对用户计算机应做出何种反应的说明,这些注释的内容经过浏览器的翻译后就成了不同的操作。为了使各种不同类型的www服务器都能正确地认识和执行,超文本文件要遵从一个严格的标准,这个标准就是超文本标识语言html。我们也可以利用这种语言来编写超文本文件,在internet上制作自己的www的主页。超文本文件的概念出现在多媒体技术迅速发展之前,现在随着多媒体技术应用的日益广泛,超文本应该改叫“超多媒体”更加合适,链接的内容已经从原来文本中的一个词或词组,发展到现在一幅图象或是图象的一部分,通过链接得到的内容也更加广泛,可以是地球另一端的某台计算机上的图片、声音、音乐或者电影。但不管叫超文本还是叫做超多媒体,www上各网页都是通过链接来完成相互间的访问。而要使访问正常进行,必须使这些链接能够正确地指向所要访问的网页。这些工作是通过统一资源定位器(url)来实现的。div + css:结合模板页技术,对多页面统一效果的控制较好3 系统的需求分析(页数4-8页)3.1 系统的主要模块分析系统模块结构图:用框图的形式把整个项目的模块结构画出来,然后分别加以解释精品课程网站数据库设计网站风格设计 “管理员”身份 “游客”身份底层架构设计 “用户”身份首页设计模板页设计登录添加用户登录浏览信息信息审核浏览信息用户功能登录验证安全性登录验证安全性下载资源上传成果论坛交流数据库设计:设计了多个类,对数据加以控制,方便数据存储、查询、修改。底层架构设计:编写实体类,及相应的sevices,把数据访问与代码编写分离开,方便管理。网站风格设计:编写css文件,统一处理网站效果,把业务逻辑与页面美工分离开;网站整体布局、页面美工,使用户有良好的用户体验,保持网站整体风格的统一。管理员身份:登录:有登录验证、考虑安全性(sql注入等)添加新用户信息审核:对学生上传文件等需求做出相应的审核用户身份:登录:有登录验证、考虑安全性(sql注入等)上传文件:可上传课程学习成果考试资源:在网上进行在线考试交流论坛:拥有自己的论坛,用户在该论坛上可发表个人观点、学习心得等等,加深对课程的理解游客身份:游客可访问“精品课程网”的基本功能,如:新闻周知、课程介绍、师资力量、课程资源等等系统的用例图及用例描述管理员:课程的教师可以进行正常的“浏览”,如:“新闻周知”“师资力量”“课程介绍”;“添加用户信息”:添加教师、学生用户参加“交流论坛”:与学生进行课程交流发布信息用户:可以进行正常的“浏览”,如:“新闻周知”“师资力量”“课程介绍”;享受“考试资源”:进行在线考试参加“交流论坛”:与教师进行课程交流游客:只可以进行正常的“浏览”,如:“新闻周知”“师资力量”“课程介绍”;3.2 系统的非功能需求分析操作系统:windows xp及以上版本数据库:sql server2005开发工具:visual studio 2008运行环境: ,iis 5.0以上版本4 系统的设计与实现4.1 系统的总体设计精品课程第一步要做的就是将教学内容在网上发布,管理员、用户可以通过教学资源发布、实践成果发布等等发布自己的课程资源,课程资源可以兼容多种文件格式,包括pdf、powerpoint,图形、rar等,并且管理员拥有管理所有课程的权限。而用户登录以后,则可以根据自己的专业课程,选择自己需要查看的课件资源。一个完善的网上精品课程系统,应该是方便管理和操作的,所以该系统还有一个功能强大的后台管理系统:可以进行资料管理,课件管理。目前应用于动态网页设计的技术有很多,精品课程网站系统中主要采用了asp技术和数据库技术的整合应用。采用的数据库是sql server 2005数据库,拟建立best_course.mdb库文件。 系统页面主要采用动态页面,利用asp与数据库结合的技术建立数据库查询管理系统,采用交互式的动态的web画面来实现课件、新闻等远程浏览及管理。系统能够实现基于校园网络环境下的资源管理,以便有效地管理用户们上传的资源,构建适合的课程资源库。系统采用b/s结构,即浏览器/服务器结构。用户通过浏览器向服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器上。客户机无需安装软件,只需在服务器上进行简单的设置,数据的请求和返回结果均以网页形式完成,方便系统的管理,适合管理员的使用习惯。系统平台设计时,采用的是visual studio 2008为开发工具,利用asp技术,以sql server2005数据库作为后台数据库,web服务采用iis实现。本系统包括:前台和后台两部分,前台包括:“新闻周知”“课程介绍”“师资力量”“教学资源”“实践成果”“课堂效果”“考试资源”“学习论坛”,后台包括:“用户管理”“课堂效果上传”“新闻管理”,用户只需要通过浏览器访问就可以实现操作,操作简单灵活。4.2 系统的详细设计与实现4.2.1 “登录”功能模块的设计与实现 网站信息安全:1.md5加密md5的全称是message-digest algorithm 5,在90年代初由mit的计算机科学实验室和rsa data security inc发明,经md2、md3和md4发展而来。 md5广泛用于操作系统的登陆认证上,如unix、各类bsd系统登录密码、数字签名等诸多方。如在unix系统中用户的密码是以md5(或其它类似的算法)经hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行md5 hash运算,然后再去和保存在文件系统中的md5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。md5将任意长度的“字节串”映射为一个128bit的大整数,并且是通过该128bit反推原始字符串是困难的,换句话说就是,即使你看到源程序和算法描述,也无法将一个md5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。所以,要遇到了md5密码的问题,比较好的办法是:你可以用这个系统中的md5()函数重新设一个密码,如admin,把生成的一串密码的hash值覆盖原来的hash值就行了。 正是因为这个原因,现在被黑客使用最多的一种破译密码的方法就是一种被称为跑字典的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用md5程序计算出这些字典项的md5值,然后再用目标的md5值在这个字典中检索。我们假设密码的最大长度为8位字节(8 bytes),同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是p(62,1)+p(62,2).+p(62,8),那也已经是一个很天文的数字了,存储这个字典就需要tb级的磁盘阵列,而且这种方法还有一个前提,就是能获得目标账户的密码md5值的情况下才可以。这种加密技术被广泛的应用于unix系统中,这也是为什么unix系统比一般操作系统更为坚固一个重要原因。核心代码:public class mdencode / md5 encrypt string public string md5encrypt(string strtext) md5 md5 = new md5cryptoserviceprovider(); byte result = md5.computehash(system.text.encoding.default.getbytes(strtext); return system.text.encoding.default.getstring(result); public string md5encrypt(string ptoencrypt, string skey) descryptoserviceprovider des = new descryptoserviceprovider(); byte inputbytearray = encoding.default.getbytes(ptoencrypt); des.key = asciiencoding.ascii.getbytes(skey); des.iv = asciiencoding.ascii.getbytes(skey); memorystream ms = new memorystream(); cryptostream cs = new cryptostream(ms, des.createencryptor(), cryptostreammode.write); cs.write(inputbytearray, 0, inputbytearray.length); cs.flushfinalblock(); stringbuilder ret = new stringbuilder(); foreach (byte b in ms.toarray() ret.appendformat(0:x2, b); ret.tostring(); return ret.tostring(); /md5解密 public string md5decrypt(string ptodecrypt, string skey) descryptoserviceprovider des = new descryptoserviceprovider(); byte inputbytearray = new byteptodecrypt.length / 2; for (int x = 0; x -1) | (intext.tolower().indexof( + str_t) -1) | (intext.tolower().indexof(str_t) -1) return true; 4.2.2 “考试资源”功能模块的设计与实现学生可以在网上进行考试,考试有试题库,每次考试,从题库中随机抽取相应科目的题目,考试有时间限制,有相应的提示,考试后可以查询分数4.2.3 “论坛”功能模块的设计与实现整体规划: 论坛安装到网站根目录下,网站根目录对应的物理路径为 e:wwwroottestdnt26 一、 目录权限设定 1 解压文件到指定目录 使用 winrar 等压缩工具解压 discuz!nt 安装包内 uploadfiles 目录内的多有目录及文件到 e:wwwroottestdnt26 ,结构如图所示 2 设置 dnt 目录的权限(包含子目录及其下所有文件) 设置该目录具有 iusr 账号的读取权限。设置该目录具有 iis_iusrs 组的读取、读取和执行、列出文件夹目录、修改、写入 权限。设置该目录具有 adminsitrator 账号的完全控制权限。 二、建立数据库 1 打开 sql server 2005/2008 的 sql server management studio ,建立一个空数据库,这里将数据库命名为 dnt 2 开启 sql server fulltext search (全文索引)服务 (可选) 三、设置iis7 1 为 discuz!nt 建立单独的应用程序池。如果是64位系统 请在应用程序池的【高级设置】中将【启用32为应用程序】设置为 true。 注:discuz!nt的 web.config文件 加入了相关配置,使得discuz!nt 能够工作在应用程序池 【托管管道模式】的【集成】和【经典】两种模式下。 2 建立站点 建议名为 dnt 的站点。将其主目录物理路径指定为 e:wwwroottestdnt26 ,并指定其应用程池为 上一步建立的名为dnt的应用程序池。指定端口,这里由于笔者机器上 iis 中默认站点占用了80端口,所以本演示指定端口为81。 3 检查iis的【默认文档】设置,添加如下默认文档: (如果已存在则无需添加) index.aspxforumindex.aspxspaceindex.aspxalbumindex.aspx 四、在浏览器中,输入网址,运行安装程序五、运行效果4.2.4 “新闻周知”功能模块的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黄冈事业单位笔试真题2025
- 2025企业间的借款合同范本
- 第8课 写意花卉-荷花的画法 说课稿 2024-2025学年人美版初中美术七年级下册
- 2025合作开发合同范本
- 化肥厂原料仓库温湿度规定
- 化肥厂复合肥质量检测规定
- 2.4 含绝对值的不等式说课稿-2023-2024学年中职数学基础模块上册高教版(第三版·李广全)
- 第9课 吉祥物说课稿-2025-2026学年小学美术赣美版六年级上册-赣美版
- 二年级体育下册 正向投掷轻物说课稿
- 中医考试题库及答案
- 纪委监委案件管理办法
- 医疗质量安全专项整治行动自查清单8-患者隐私
- 人行统计制度培训课件
- Unit 2 School life单元测试卷(含答案) 2025-2026学年译林版(2024)八年级英语上册
- 产品检验基础知识培训课件
- 来华留学生管理办法
- 宁波银行2025-2026年招聘考试笔试题内容历年考试真题
- 心力衰竭健康教育
- 财务信息化系统建设-洞察阐释
- 学堂在线 新闻摄影 期末考试答案
- 统编版语文五年级上册 第一单元核心素养展示
评论
0/150
提交评论