桂电三院毕业设计论文.docx_第1页
桂电三院毕业设计论文.docx_第2页
桂电三院毕业设计论文.docx_第3页
桂电三院毕业设计论文.docx_第4页
桂电三院毕业设计论文.docx_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

编号: 毕业设计说明书题 目: 安全的找师傅网站开发 学 院: 计算机科学与工程学院 专 业: 信息安全 学生姓名: XXXXXXXX 学 号: XXXXXXXXXX 指导教师: 职 称: 副研究员 题目类型:理论研究 实验研究 工程设计 工程技术研究 软件开发2016年 6月 3日摘 要如今的社会飞速发展,社会景象日新月异,人们在每天的生活和工作中都需要学习越来越多的技术,以应对日复一日,年复一年的技术革新。技多不压身,这个观念使得人们对于自己专业以外的技术更加想要掌握,所以,很多人往往在工作之余的时间里,找其他行业技术功底深厚或者其中的佼佼者来帮助自己掌握一门新的技术,以应付技术革新社会给就业率带来的冲击。而在网上寻找相应的服务可以帮助越来越多的人实现额外的学艺的目标。本次设计安全的找师傅网站开发是基于B/S架构来搭建网站的WEB网络结构模式,在此次设计中,Dreamweaver是主要的网站开发工具,IIS服务器搭配html,使用ASP Visual Basic Script语言进行实现连接数据库Access和实现该网页所有功能,并结合html+css完成网站的整体布局。本系统主要分为三大模块,分别是:学徒模块,授艺者模块和平台管理维护模块。在这几个模块里,授艺者可以在网上发布招收学徒的信息,学徒也就可以在动态网页上找到相应技术授艺者发布的收徒信息从而进行在线预约,平台管理者可随时对平台的信息进行管理。安全对于网站来说是十分重要的,为了能保证用户的信息不被泄露和保证网站不会因为各种原因而使得数据丢失,管理者可以对数据库有权限地进行管理和备份,而对于用户的信息存储也采用MD5保密存储。从而保证整个平台的顺利运行。关键字:安全;B/S;Visual Basic Script;html+css;MD5;AccessAbstractNowadays society develops fast ,and the society science changes quickly. People need more and more technologies in everyday life and work to deal with technological innovation. More than skill is no burden, which results that people wanna to have good knowledge of that skill except of their major. So, in spare time, plenty of people seek of the outstanding who is deeply technological basis to help themselves master a new skill to face the impact that new technological innovation brings to the employment rate. Seeking of revelant service on line can help more and more people to achieve the goal of learning extra skill.The design security to find the master site development is based on B / S architecture network model to build WEB site, in the design, Dreamweaver is the main Web site development tool, IIS server with html, using the ASP Visual Basic Script language Access database connectivity and implementation of all the features of the page, and combine html + css complete websites overall layout. The system consists of three modules, namely: Apprentice module by module teaching and platform management and maintenance module. In these modules, the teacher can publish information on the Internet to recruit apprentices, apprentices can also find information on the corresponding technical teachers who publish on dynamic pages in order to make an appointment online, platform manager at any time to the platform information management. Safety is very important for the site, in order to ensure that user information will not be disclosed and will not guarantee the site due to various reasons such data loss, the database administrator can have permission to carry out management and backup, and for users information store also uses MD5 secure storage. Thus ensuring the smooth operation of the entire platform.key:security;B/S;Visual Basic Script;html+css;MD5;Access目录引言61 概述71.1安全的找师傅网站开发的开发背景71.2安全的找师傅网站开发的意义和现状71.2.1网站开发的意义71.2.2网站开发的发展现状81.3系统需求分析81.3.1网页界面设计需求81.3.2网页功能需求81.3.3网页安全需求82 网站开发技术、工具和环境92.1 网站开发技术92.1.1 ASP简介92.1.2 Visual Basic Script简介92.1.3 JavaScript简介102.1.4 html简介102.2 网站开发工具102.2.1 Access2007数据库管理系统简介102.2.2 Dreamweaver CS6简介102.3 网站开发环境描述112.3.1 网站开发环境及语言113 网站开发技术、工具和环境113.1 安全的找师傅网站开发系统描述113.2 网站总体设计结构113.3 网站关键部分和解决方案123.3.1 用户密码安全信息123.3.2 防SQL注入攻击124 数据库设计124.1 数据库概要设计134.2 数据字典154.2.1 设计数据库所需表154.2.2 用户个人信息表(user1)164.2.3 课程信息表(course)164.2.4 活动信息表(ativity)164.2.5 新闻信息表(news)174.2.6 课程类型表(course_type)174.2.7 信息评论表(comment)174.3 asp文件连接Access数据库185 系统详细设计195.1 首页导航模块设计195.2 注册登录模块设计205.2.1 用户注册模块205.2.2用户登录模块225.3 学徒模块设计245.3.1 分类查找师傅板块245.3.2 评论师傅板块245.3.3 参与活动板块255.4 师傅模块设计255.4.1发布课程板块255.4.2发布活动板块265.5 管理员模块设计275.6 新闻模块设计275.7 用户名及登录记忆模块设计306 网站开发的关键技术316.1 加密存储用户密码316.2 防御SQL注入攻击317 系统测试327.1 测试环境327.2 测试过程和结果338 结论34引言随着当今飞速发展的网络技术,学习已经不仅仅局限于在学校上课或者在图书馆看书,更多人需求更多的技能,以便使得自己在社会竞争中处于一个非常有利的地位。有需求就有市场,拥有一身本领的人能在市场中将自己的所学所有转化为财富,而求学的人用财富换取知识、技能,这样不同的人各取所需。而现实的生活中,往往他们不能进行直接的沟通,或者在虚拟转化为现实的过程中会出现这样或者那样的问题,他们就需要一个平台来完成他们这种沟通的需求。从而,可以帮助他们进行沟通的平台网站应运而生,而在这个平台网站里,也会涉及到用户的信息和个人的隐私,所以,安全问题也是网站能否正常运行的一个硬性指标,这也是如今网络不得不面对的一个问题。相比一些网站推广的培训机构,本次设计的安全找师傅网站,更符合大众化和现实条件,它大大地解决了各方因为时间,地点或者经济之间所存在的矛盾,将以往培训机构的一对多教育的局限性解放,更加倡导一对一的自由度和高效率的实现。对于授艺者而言,他能更多时间地对自己的授艺对象进行详细和有效的指导;对于学徒而言,不在局限于学习时间的冲突,可以对于学习时间、地点能有商量而确定好,大大地解决因时间冲突而带来的不便和经济上的多余支出。对于注册用户而言,他们最关注的无非就是自己的信息会不会得到安全的保障,这关系到他们的虚拟角色和现实的生活;对于管理者而言,网站安全是网站生存之本,如果没有安全的保护和容灾备份,网站就不能在数不胜数的网络攻击上站得住脚跟。这次的网站设计,为了使得网站更加可靠和安全,对于用户存入数据库的登陆密码、电话号码和地址等字段进行SHA加密保护,在输入的文本里,也做了防止SQL注入攻击的检测输入字符处理,确保数据库的安全。此外,网站还防止跨站攻击和对数据库实现备份处理。1 概述1.1安全的找师傅网站开发的开发背景随着人们对于网络的依赖程度与日俱增,网络服务也越来越多,技能培训机构也能在网络中众多的服务上分一杯羹,人们在课余时间和工作之余,也会通过培训机构学习这样或者那样的技能。网络也成为了众多培训机构招收学徒的主要战场,不仅仅在现实中派发传单去招收,已经成为人类生活不可缺少的一部分。不过在如今的网络里,关于找师傅学艺的服务网站并不是很多,而且参差不齐,学艺者能得到的帮助是有限的,如同如今比较成型的网站,如58同城,赶集网,都或多或少的有相应的一些服务,但大多数是以培训机构的形式存在,虽然可以学到一些知识,不过大班教育的方式并不能满足所有人的要求,有些人或许对于一对一服务的学习比较有效,这样就使得在一定程度上,他们还不能满足所有人的要求。所以,开发一个专业的找师傅学艺开发网站是大势所趋的。在虚拟网络中难免会有这样或者那样的漏洞,漏洞的出现代表安全问题是层出不穷的,在一些关键的安全问题上,解决安全问题是放在在如今全球网络范围内一个非常现实问题。1.2安全的找师傅网站开发的意义和现状1.2.1网站开发的意义开发找师傅网站是为了实现适合不同的人群对于自身获得良好服务的目标,从用户的角度出发,建立网站平台让更多的人在学习和生活中的各段可自由支配的时间里能够涉足其他的一些行业技能,从而让更多人的技巧得以传承,对于构建多元化社会,有着深远的影响。安全对于网站来说是十分重要的,开发找师傅网站也要在安全方面进行必要的设计,用户信息加密存储是网站得以长久发展的根本所在,所以数据库的安全是重中之重,对于保护用户的信息有着很重要的意义。1.2.2网站开发的发展现状如今的网络世界,网站更加趋于丰富和多元化,用户日益增长的要求,更多服务类网站应运而生,但许多类似的网站还是在功能上参差不齐,并不能满足用户的需求,而且一些网站在安全方面考虑得不够充分,比如防SQL注入攻击或者防止跨站攻击方面,都没有很好地进行设计,所以经常出现类似的网站会出现用户信息泄露的情况。而且,诸如58同城这类网站,也或多或少有一些类似的功能,其都是建立在多元化的基础上,在找师傅方面并没有做到非常专业。所以开发一个专业的找师傅网站是非常重要和适应现代化发展的。1.3系统需求分析本次网站设计,主要服务对象为学徒和授艺者,所有各自扮演者不同的角色,在网站中也有自己相应的功能,能满足各类人员的需求,完成网站的真实和有用的功能。而且网站的布局必须合理,有良好的用户界面,让用户操作变得方便和让页面简洁。数据库方面,设计切合实际,在保护数据方面要实现安全。1.3.1网页界面设计需求根据用户在数据库中不同的角色,显示不同的页面。操作界面简单的构造布局,用户操作方便。在显示页面,布局友好,信息呈现完整。用户可以随意进入自身规定范围的页面,从而进行操作和共享资源。1.3.2网页功能需求(1)开发安全网络平台,支持不同的用户不同需求;(2)用户主要分为两种角色,如角色是学徒的用户,可以在平台上按信息预约师傅进行学艺;角色是授艺者的用户,可以在平台上发布自己的授艺项目,也可以发布活动,供学徒参加;(3)用户都可以自己管理自身的信息,随时进行修改;(4)网站管理人员可以对数据库进行操作,强制修改密码。1.3.3网页安全需求(1)用户注册登录的信息(密码采用MD5加密后保存到数据库里);(2)网站对于数据库有备份和恢复的功能;(3)输入的文本框防止SQL注入攻击,对于输入的字符进行过滤处理;(4)有防范跨站攻击的措施。2 网站开发技术、工具和环境2.1 网站开发技术本次网站的开发,使用到了如今非常流行的软件Dreamweaver CS6,脚本语言上选择了ASP的Visual Basic Script语言,数据库的连接用到了Access 2007实现共同开发。2.1.1 ASP简介Active Server Pages是一种动态的服务器的页面,其英文缩写是ASP,也被称为经典的ASP,由微软公司开发测试的一种代替CGI脚本程序的应用,它是微软的服务器端的脚本引擎,并且能够产生动态的WEB页面。ASP能够交互WEB相应的数据库和其他外部程序,在编程中是非常简单和实用的,根据和html 的配合,其测试不需要编译,即可通过服务器而直接执行,而且其结合Visual Basic Script、JavaScript等脚本语言,能快速完成编写网站的应用程序。2.1.2 Visual Basic Script简介Visual Basic Script是一种Visual Basic的脚本语言,往往其的简称为VBScript,是由微软开发的一种解释型语言(轻量级)。往往通过系统中的COM组件,WMI和ADSI等对系统里的元素进行访问,并管理系统。这种编程语言被ASP动态网页所默认。用户在开发ASP动态网页时,其运用到ASP的内建对象和ADO对象,就能轻松地访问数据库。2.1.3 JavaScript简介JavaScript是一种直译式的脚本语言,其运用到被称为JavaScript引擎的解释器,在浏览器中占据比较重要的一部分,其广泛运用于客户端。它可以给HTML网页增加动态的功能,并且美化网页,使网页更加直观,使得人机交互更加友好。2.1.4 html简介Html全称是HyperText Markup Language(超级文本标记语言),它和VBScript,JavaScript构成和如今丰富多彩的网页。Html的构成主要包括head(网页头)和body(网页主体),head提供网页的信息,body提供网页中的详细内容(包括显示的图片和文字等)。2.2 网站开发工具2.2.1 Access2007数据库管理系统简介Microsoft Office Access 2007是微软公司开发和发布的一款数据库管理系统,2.2.2 Dreamweaver CS6简介Dreamweaver CS6 是ADOBE公司开发的一款能够通过可视化编辑界面来设计网站和应用程序APP,该软件有代码、拆分、设计等功能,随时对网页进行修改,更加直观地对网页的布局和信息进行编辑。而且该软件可以实时预览,让用户对着效果来设计网页,避免用源代码编写时花费太多时间在设计布局上。在布局上结合CSS来对html进行更加规范化的设计,开发人员能更加方便,在工作效率方面,也能有显著的提高。是一款对于初学者非常有用的软件,能快速入门,减去不必要的繁琐设计,快速建立自己的WEB页面。2.3 网站开发环境描述2.3.1 网站开发环境及语言开发语言:HTML,ASP,Visual Basic Script,JavaScript开发环境:Dreamweaver CS6,360浏览器操作系统:Windows 7数据库:Access 2007服务器:IIS服务器3 网站开发技术、工具和环境3.1 安全的找师傅网站开发系统描述3.2 网站总体设计结构本次网站设计的是安全的找师傅网站,网站系统由3个主要的模块组成:学徒模块,师傅模块,管理员模块。设计如图3.1所示。图3.1 网站主体模块设计(1) 学徒模块:进入网站后,可以以学徒的角色进行注册会员,登录账户后,学徒可以按分类来查询提供相应技艺的师傅或查看活动,并进行预约和参与,在学艺周期完成后,可以对师傅进行评价和评分。还可以随时修改自己的部分信息。(2) 师傅模块:用户可以以师傅的角色进行注册,登录后,可以发布技艺到网站分类里,进行收徒。并且还能发起活动,在被预约后,可以查看学徒的信息;在活动栏可以查询参与者信息。并能随时关闭活动和收徒打算。可以修改自身部分信息。(3) 管理员模块:管理员可以强行修改用户的密码,增加或者删除新闻,对于恶意评论进行删除,在数据库安全方面,可以随时备份数据库,而且在数据库被恶意损坏后进行还原。3.3 网站关键部分和解决方案3.3.1 用户密码安全信息难点:密码在数据库保存不能显示明文,否则在数据库泄露的时候会导致用户的权益受损,所以,密码的保存要进行加密后才能存入数据库,确保用户账号不会被他人盗取。解决方案:保存密码使用到MD5算法。用户在注册的时候,密码经过MD5加密后,存入数据库,在数据库存放的密码是密文。在登录的时候,也会将输入的密码进行加密后与数据库对比,完成用户登录的功能。3.3.2 防SQL注入攻击难点:许多黑客利用SQL注入攻击的方式,对网站的数据库进行攻击,这在B/S模式构建的系统中尤为常见。许多开发者没有在用户输入数据时进行字符合理性的判断,当恶意攻击者提交一段对于网站数据库查询的SQL语句,根据返回的值,攻击者就能获取想要的数据。这威胁着用户信息的安全,如何对于该攻击的防御,是一个网站的重中之重。解决方案:在网站中需要对用户输入的信息进行过滤处理,对于一些字段进行加码机制处理,可以使得攻击者的SQL注入变得比较困难。4 数据库设计数据库的建立,是为了更好的对于网站数据的管理,按照网站所需的内容,满足网站的开发要求的情况下,对数据库进行设计,从而使得数据库管理更加简便和合理。设计数据库的步骤如下:概要设计,逻辑设计和物理设计。本次网站的数据库设计按照如上的顺序来展开。4.1 数据库概要设计概念模型的设计,主要根据数据库的实体-联系图(简称E-R图)来描述,E-R图主要分为实体、属性、联系三部分,简略图由图4.1所描述:图4.1 实体E-R元素简略图具体E-R图:图4.2 用户信息ER图图4.3 课程信息ER图图4.4 活动信息E-R图图4.5 新闻信息ER图图4.6 课程类型ER图4.2 数据字典4.2.1 设计数据库所需表表4-1 设计数据库所需表表的名称详细说明user1用户个人信息表course课程信息表course_type课程类型表ativity活动信息表news新闻信息表comment评论信息表4.2.2 用户个人信息表(user1)表4-2 用户个人信息表字段名数据类型是否主键是否外键说明ID自动编号信息排序码u_yonghu文本用户名u_name文本用户真实姓名u_pass文本用户登录密码u_shuxing文本用户技能属性u_sex文本用户性别u_role文本用户角色u_tel数字用户电话号码u_mail文本用户邮箱u_question文本用户提示问题u_answer文本提示问题答案4.2.3 课程信息表(course)表4-3 课程信息表字段名数据类型是否主键是否外键说明ID自动编号信息排序码c_title文本课程信息名c_context文本课程详情c_createdate时间课程开始时间c_createuser文本课程发起人c_createtype文本关联课程类型表ID课程类型c_isappoint数字课程预约状态c_isend数字课程是否结束4.2.4 活动信息表(ativity)表4-4 活动信息表字段名数据类型是否主键是否外键说明ID自动编号信息排序码ativityname文本活动名称context文本活动详细信息address文本活动地址createdate时间活动开始时间createuser文本关联到user1的ID活动发起人count数字已参与活动人数isfull数字活动是否满人isend数字活动是否结束4.2.5 新闻信息表(news)表4-5 新闻信息表字段名数据类型是否主键是否外键说明ID自动编号信息排序码n_title文本新闻标题n_author文本新闻作者n_detail文本新闻详细n_date时间新闻时间4.2.6 课程类型表(course_type)表4-6 课程类型表字段名数据类型是否主键是否外键说明ID自动编号信息排序码coursetype文本课程类型4.2.7 信息评论表(comment)表4-7 信息评论表字段名数据类型是否主键是否外键说明ID自动编号信息排序码4.3 asp文件连接Access数据库连接数据库是实现网站每个模块之间能够互相友好地访问的前提。IIS服务器能很好地对这一功能提供相应的服务。Web页面通过http协议发送连接的请求给服务器IIS,IIS服务器在获取请求之后,对数据库执行相应的操作。本次网站设计的数据库连接方法是ADO方法。图4-7 ADO方法连接数据库本次数据库连接使用的方法是ADO,使用其中的OLEDB 方式连接ACCESS数据库。OLEDB可以在不同的程序接口进行连接,是由微软公司发布的一种比较特殊的连接方式。本次网站设计连接ACCESS数据库的方法如下:(1) 编写conn.asp主连接文件,其实现代码主要是:(2) 其他文件进行包含操作,把数据库连接文件包含在需要使用的asp文件的文件头之中,其实现的代码如下:使用前两个步骤,就能调用此方法,进行对数据库的操作。5 系统详细设计5.1 首页导航模块设计在登录首页的时候,相应的有几个选项,点击可进入不同的页面,浏览不同的信息,实现不同的功能,首页设计如图所示:图5-1 网站首页导航模块实现部分代码: 5.2 注册登录模块设计本次网站设计的用户主要分为四大类,分别是:游客、学徒、师傅和管理员,其中学徒、师傅和管理员组成用户的三大模块。学徒和师傅使用同一个注册界面,在注册时,通过角色选择的不同从而注册不同身份的用户,学徒的特长属性自动设定为无,而师傅的特长属性可以通过自己填写来注册。其中他们各自的功能如下所示:5.2.1 用户注册模块图5-2 用户注册模块用户注册详细步骤:(1) 填写用户的账户必须信息(包括用户名,密码,性别等等),各项字段不能为空。(2) 提交用户信息(用户填写结束后,点击提交)(3) 判断用户名是否存在,两次密码输入是否一致,信息是否符合实际(诸如电话、邮箱等包含特殊字符的字段)。(4) 注册成功,用户填写的信息已经插入数据库中。注册步骤如下图所示:图5-3 用户注册详细步骤流程图5.2.2用户登录模块图5-4 用户登录模块用户登录详细步骤:(1) 填写用户名和密码;(2) 提交denglureg.asp进行判断填写信息的正确性和该用户的角色;(3) 按照不同角色,进入不同的用户页面(主要分为学徒角色、师傅角色、管理员角色)。登录步骤如下图所示:图5-5 用户登录步骤图流程图用户登录部分代码:uyonghu=request.Form(f_yonghu)upass=request.Form(f_pass)set rst=server.CreateObject(adodb.recordset)set rst2=server.CreateObject(adodb.recordset)sql=select * from user1 where u_yonghu=&uyonghu& and u_pass=&upass&sql2=select u_role from user1 where u_yonghu=&uyonghu& and u_pass=&upass&rst.open sql,conn,1,1if uyonghu= or upass= thenResponse.Write alert(用户名或密码不能为空!);history.go(-1);response.endelseif rst.eof thenResponse.Write alert(用户名或密码错误!);history.go(-1); Response.Endelsesession(username)=rst(u_yonghu)rst2.open sql2,conn,1,1urole=rst(u_role)if urole=学徒 then Response.Write alert(登陆成功!);location.href=xuetudenglu.asp; Response.End elseif urole=师傅 then Response.Write alert(登陆成功!);location.href=shifudenglu.asp; Response.End elseif urole=管理员 then Response.Write alert(登陆成功!);location.href=glyjiemian.asp; Response.End end ifrst.closerst2.closeend if5.3 学徒模块设计5.3.1 分类查找师傅板块学徒可以在分类中查询不同的师傅,并进行预约,预约后,师傅发布的技艺信息的isappoint字段被置为1,未预约则设定初始值为0。步骤如图所示:图5-6 预约步骤图5.3.2 评论师傅板块在学徒学艺结束之后,对应课程表course中isend字段自动设置为1,学徒可以对师傅的技艺进行评论和打分,并在操作结束之后,将信息显示。5.3.3 参与活动板块学徒可以查询已发布活动,可以点击参与,则在activity表中,count字段自加1,并activity表中的participate字段作为外码关联至user1表中的id字段,实现了关联学徒的部分信息,其步骤如图所示:图5-7 参与活动步骤5.4 师傅模块设计5.4.1发布课程板块师傅登录后,可以发布课程,课程字段包括课程名称、上课时间、课程类型和课程描述,添加完成后,course表中的相应字段会被插入,而在course_type表中的coursetype字段,若输入的课程类型已经存在,则该字段不会增加记录;若是输入的课程类型不存在,该字段自动增加填入的课程类型。相应的,course_type中的coursetype字段中的内容也会被作为关键字显示在查询分类中。图5-8 师傅开设课程5.4.2发布活动板块师傅也可以发布活动,招募人员参与,activity表中有10个字段,其中id为自动编码,count,isfull,isend在建立活动之初,是自动设置为0,活动创建人通过session值查询user1表中的u_name进行自动设定,其余属性则需要师傅进行输入。图5-9 师傅发布活动5.5 管理员模块设计5.5.1查看用户信息板块管理员可以随时查询用户信息,并能对恶意用户进行封停账号和删除其在数据库中的内容。图 管理员查看用户界面5.5.2强行修改密码板块用户在忘记密码和提示问题或者答案的时候,可以联系客服申请修改密码,但密码是MD5加密的,管理员也无法查看用户的旧密码,只能通过强行修改密码来为用户服务,在核实用户身份之后,就能强行修改密码。强行修改的密码再次通过MD5加密,存入数据库,密码可以进行多次强行修改,无特殊的次数限制。5.5.3备份数据库板块管理员有随时备份数据库和恢复数据库的功能,在网站数据受到不可避免的损坏时,管理员可以通过恢复数据库来恢复网站的正常运行。管理员在登录后,可以随时点击备份数据库,只要填写原数据库名称和目的数据库名称,就能进行备份操作,方便快捷。5.6 新闻模块设计网站中还设计实现了新闻动态的功能,在页面里能观看部分新闻信息。让浏览者了解更多的信息。作为休闲的时候一个比较轻松的阅读,新闻涉及多个领域,由管理员不定时地进行更新。5.6.1浏览新闻图5-6 新闻动态页面新闻动态页面的显示需要用到分页技术来对大量新闻进行分页处理,保证一个页面实现显示的条目数量,实现显示新闻动态的部分代码: a href=chakanxinwen.asp?id= 查看 5.6.2查看新闻详细信息图5-7 查看新闻详细信息页面实现查看新闻部分代码:set rst=server.CreateObject(adodb.recordset)id=request.QueryString(id)/接收点击新闻查看的id值sql=select * from news where ID=&id/根据不同的id值选择不同的新闻信息rst.open sql,conn,1,15.6.3增加新闻本网站中设计的新闻功能,增加新闻信息是通过管理员来实现,管理员可以随时增加新闻,增加的新闻信息通过插入数据库来保存,再通过读取数据库进行显示。图5-8 管理员添加新闻页面5.7 用户名及登录记忆模块设计在一次会话(即一次完整的网页打开和关闭)中,浏览器通过ASP中的session方法,对用户登录时的用户名进行记忆,以便在点击各个网站功能的时候保证用户登录信息不丢失,记住登录状态。在进入登录页面并成功登录后,session读取用户输入的用户名,通过session(”username”)实现。在每次会话结束的时候,session的值自动释放掉,通过session(“username”)=nothing实现。其实现的详细步骤如下图所示:图5-9 登录后session记录用户名步骤6 网站开发的关键技术6.1 加密存储用户密码目前的各种网站安全性都或多或少存在一些问题,所以我们迫切地需要对密码进行加密的措施,从而使得密码在数据库中以密文的形式进行保存。本次网站设计使用了密码的单项加密方法,计算密码的摘要值,然后把密码密文存入数据库。用户在注册、登录或者修改密码时,将调用MD5文件对输入的密码进行加密,计算MD5摘要值,对计算出来的MD5摘要值进行存储。用户在以后的登录中,输入的密码也会经过MD5加密后和数据库中的信息进行比对后来操作用户的登录,从而做到处处加密,保障用户密码不会在每一个关键的环节中出现泄漏的情况,切实保护了用户的信息安全。在对密码进行操作提交表单的页面,都会包含MD5.asp文件,然后调用,调用的方法如下所示: 6.2 防御SQL注入攻击防SQL注入是防止恶意攻击者在参数传入应用程序的过程中对数据库进行SQL的查询,运用了SQL语法组成字符进行输入,从而得取所需的信息。若能在用户输入时对数据进行过滤和筛选,就能在一定程度上避免SQL注入攻击。防止SQL注入基本是对输入进行过滤,运用正则表达式“/w+s实现。另一方面,也可以拒绝诸如&、%、*此类的符号的输入。若出现此类符号,则弹出窗口,拒绝用户输入。防SQL注入攻击一般分为两种过滤请求:GET和POST(1) GET:feifa = |and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declarezifu = split(feifa,|)If Request.QueryString ThenFor Each SQL_Get In Request.QueryStringFor SQL_Data=0 To Ubound(zifu)if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA)0 ThenResponse.Write Script Language=*alert(请不要尝试SQL注入 );history.back(-1)/ScriptRe

温馨提示

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

评论

0/150

提交评论