版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学学 位位 论论 文文 BBSBBS 系统开发与账户安全保护的实现系统开发与账户安全保护的实现 论文作者姓名论文作者姓名: : 申请学位专业申请学位专业: : 申请学位类别申请学位类别: : 指指导导教教师师姓姓名名 ( (职职称称 ) ): : 论文提交日期论文提交日期: : BBSBBS 系统开发与账户安全保护的实现系统开发与账户安全保护的实现 摘摘 要要 BBS 的英文名称是 Bulletin Board System,翻译为中文就是“电子公告板” 。 BBS 在上世纪九十年代进入中国,并迅速普及。本设计的目的是用 ASP 和 SQL 开发一个简易的 BBS 系统,并实现账户安全保护。此
2、外,BBS 系统有操作简单、 界面友好的特点,并具有广泛的应用前景。BBS 系统开发主要讲述了系统设计的 基本功能和方法。接着以 BBS 系统为例,逐一介绍开发的步骤:系统分析、系统 设计、系统实现。在系统分析中先后用数据流程图、系统的功能结构图分析了 BBS 系统所需的各种数据。在 BBS 系统的设计中,详细的展现了系统的各个功 能模块,所需的数据库表及表字段,菜单的设计等,并通过运用 MD5 函数,实现用 户账户的安全保护。在 BBS 系统的实现中,取得了系统预期的成果,基本使各个 模块的功能得以实现,并给出了模块实现的核心代码和主要的界面设计。 关键词关键词: :BBS 系统;ASP;S
3、QL;账户安全 Development of BBS System and Implementation of Account Security Protection Abstract BBSs English name is Bulletin Board System. In 90s of the last century BBS enters China and becomes popular. Aim of this design is to develop a simple system of BBS based on Asp and SQL, and the implementati
4、on of account Security Protection. Furthermore, BBS system is good for easy operation and friendly interface, it has comprehensive application foreground. Development of BBS System mainly narrates basic function and method for System Design. Then take this system as an example, recommend developing
5、the step of this system one by one: system analysis, system design, and system realization. Successively used the data stream chart the system function structure drawing in the system analysis to analyze each kind of data which the BBS system needed. In the design of the system, detailed each functi
6、on module which has represented the system, necessary database form and field, design of the menu, and implementation of users account security protection by using MD5 function. In the realization of the system, I got anticipated achievement, realized each modules basic function, and showed the modu
7、les realization core code and the main GUI design. Key words: BBS system;ASP;SQL;Account security 目目 录录 论文总页数:21 页 1引言 .1 1.1 BBS 概念与发展背景.1 1.2 BBS 系统的应用.1 2BBS 理论基础.1 2.1 BBS 相关理论基础.1 2.2 BBS 开发运行环境.2 3系统功能需求分析 .3 3.1 BBS 系统的综合要求.3 3.1.1 系统功能要求 .3 3.1.2 系统的数据要求 .3 3.2 数据库 E-R 图 .3 4系统概要设计 .4 4.1 模块
8、的划分与功能设计 .4 4.2 数据库结构的设计 .5 5系统详细设计 .7 5.1 论坛首页模块 .7 5.1.1 功能描述 .7 5.1.2 界面设计 .7 5.1.3 工作流程及代码设计 .8 5.2 新用户注册模块.8 5.2.1 功能描述 .8 5.2.2 界面设计 .9 5.2.3 工作流程及代码设计 .9 5.3 会员登陆模块.10 5.3.1 功能描述 .10 5.3.2 界面设计 .11 5.3.3 工作流程及代码设计 .11 5.4 用户资料修改模块.12 5.4.1 功能描述 .12 5.4.2 界面设计 .12 5.4.3 工作流程及代码设计 .12 5.5 发帖模块.
9、13 5.5.1 功能描述 .13 5.5.2 界面设计 .13 5.5.3 工作流程及代码设计 .13 5.6 留言模块.14 5.6.1 功能描述 .14 5.6.2 界面设计 .15 5.6.3 工作流程及代码设计 .15 5.7 账户安全保护的实现.16 5.7.1 系统安全描述 .16 5.7.2 md5 算法描述.16 5.7.3 账户安全的实现 .17 6系统测试 .17 结 论 .19 参考文献 .19 致 谢 .20 声 明 .21 第 1 页 共 21 页 1 1引言引言 1.11.1 BBSBBS 概念与发展背景概念与发展背景 BBS 是英文 Bulletin Board
10、 System 的缩写,翻译成中文为“电子布告栏系统” 或“电子公告牌系统” 。 BBS 是一种电子信息服务系统。它向用户提供了一块 公共电子白板,每个用户都可以在上面发布信息或提出看法,早期的 BBS 由教育 机构或研究机构管理,现在多数网站上都建立了自己的 BBS 系统,供网民通过 网络来结交更多的朋友,表达更多的想法。 园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到 个人计算机开始普及之后,有些人尝试将苹果计算机上的 BBS 转移到个人计算 机上,BBS 才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS 的功能得 到了很多的扩展。BBS 最早是用来公布股市价格
11、等类信息的,而且只能在苹果计 算机上运行。 BBS 于上世纪九十年代进入中国,并迅速普及。已经成为新兴一代年轻人的 时代新宠。 1.21.2 BBSBBS 系统的应用系统的应用 目前国内的 BBS 已经十分普遍,可以说是不计其数,其中 BBS 大致可以分为 5 类: (1)校园 BBS CERNET 建立以来,校园 BBS 很快地发展了起来,目前很多大学 都有了 BBS,几乎遍及全国上下。而本系统就是一个简易的校园 BBS 系统. (2)商业 BBS 站 ,这里主要是进行有关商业的商业宣传,产品推荐等等,目前手 机的商业站、电脑的商业站、房地产的商业站比比皆是。 (3)专业 BBS 站 这里所
12、说的专业 BBS 是指部委和公司的 BBS,它主要用于建 立地域性的文件传输和信息发布系统。 (4)情感 BBS 主要用于交流情感,是许多娱乐网站的首选。 (5) 个人 BBS有些个人主页的制作者们在自己的个人主页上建设了 BBS, 用于接受别人的想法,更有利于与好友进行沟通。 若按其性质分则可以分为 2 类,为商业 BBS 站和业余 BBS 站。 2 2BBSBBS 理论基础理论基础 2.12.1 BBSBBS 相关理论基础相关理论基础 进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单 机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多 媒体)的新一代
13、网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一 种是称为客户端服务器的 C/S 结构应用系统,这类软件具有结构严谨,运行效 率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是 第 2 页 共 21 页 本毕业设计所采用的,是称为浏览器服务器的 B/S 结构应用系统,它的特点是 在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率 高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局 域网,更适用于 Internet。 而本系统就是 B/S 结构的 BBS 系统,它具有 BBS 系统应该具有的基本功能。 所谓 B/S
14、结构,主要是利用了不断成熟的 WWW 浏览器技术,结合浏览器的 多种 Script 语言(VBScript、JavaScript)和 ActiveX 技术,用通用浏览器就实现 了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新 的软件系统构造技术。随着 Windows 98/Windows 20XX 将浏览器技术植入操作 系统内部,这种结构更成为当今应用软件的首选体系结构。 将应用程序分成好几个离散逻辑组件,就是多层式结构应用程序。最常见的 选择是分成三个部分:表示层、事务逻辑层和数据层,不过也有其它的组合。多 层式结构应用程序,在一开始是解决某些与传统客户端/服务器 (主
15、从式) 应用 程序相关的问题,但是随着 Web 的出现,此结构已经成为主导新程序之开发的 结构。 表示层主要运行于客户端浏览器,采用 Script (脚本)语言编写。 HTML、JavaScript、VBScript 是此类应用系统中展示层最常用的脚本编制语言, 结合 CCS 以及 ActiveX 技术,能设计出交互相当灵活功能又相当强大的客户端 网页。 事务逻辑层设计通常有三个选择:ASP 网页、COM 或 COM+组件、DBMS 中所执行的预存程序。 数据层较为灵活,视系统规模可选择 Sybase、Oracle、My SQL、SQL server 或者 MS Access。 2.22.2
16、BBSBBS 开发运行环境开发运行环境 本系统要求客户端支持 IE4.0 以上或与之兼容的浏览器软件,客户端硬件最 低要求对应于 IE4.0 的硬件平台要求。服务器端要求支持 ASP 以及 SQL 数据库。 本系统的开发环境和开发工具为:Windows XP,SQL,Dreamweaver 。 安装此系统所需的基本软、硬件环境为: (1) Windows20XX/20XX 服务器版本。 (2) SQL Server20XX 或更高版本。 (3) 计算机: Pentium III 800MHz 或更高。 (4) 20XX 上可用硬盘空间。 第 3 页 共 21 页 (5) 显示器。 3 3系统功
17、能需求分析系统功能需求分析 3.13.1 BBSBBS 系统的综合要求系统的综合要求 .1 系统功能要求系统功能要求 一个简易的 BBS 系统应具有的基础功能,包括新用户注册、用户登录、游 客登录、发表帖子、阅读帖子、回复帖子的文章、用户资料修改,发送留言等。 本系统操作用户按不同级别依次可分为:游客,普通用户、版主用户、管理员。 普通用户功能要求-通用功能:发表或回复帖子、个人资料维护、用户留言, 退出等。 版主用户功能要求-通用功能:继承普通用户的功能,能删除所属版面内的帖 子。 管理员功能要求-通用功能:继承普通用户的功能,能删除 BBS 内所有版面 里的帖子。 账户安全
18、问题的实现:运用 MD5 算法,实现用户账户的安全。 .2 系统的数据要求系统的数据要求 根据系统的功能需求,本系统管理和维护以下几种数据元素(实体 Entity):用 户、管理员、帖子。 (1)用户实体:会员用户包含这样一些基本属性:用户名、用户密码、用户 EMAIL、性别、生日,所在地区,以及邮箱。 (2) 管理员:一个管理员可以删除 BBS 论坛里面各个版面的帖子,而版主用户,只 能删除其自身所在版面的帖子。 (3) 帖子:帖子包含以下一些基本属性:所属版面,作者,标题,帖子内容,帖子书 写时间等等。 3.23.2 数据库数据库 E-RE-R 图图 第 4 页 共 21
19、页 用户名密码 EMAIL 性别生日其它 用户 1 发表 N 帖子 帖子内容 书写时间标题 作者 图 3-1 用户与帖子之间管理关系 E-R 图 第 5 页 共 21 页 4 4系统概要设计系统概要设计 4.14.1 模块的划分与功能设计模块的划分与功能设计 通过对用户需求调研并分析,确定系统应具备的功能,包括用户注册和登 陆;用户个人资料修改和密码修改;用户留言;BBS 帖子的阅读和回复等功能; 管理员对帖子的删除;账户安全问题等。各模块的具体功能设计如下: 用户管理部分:此部分主要实现用户的登陆,用户的注册,以及用户修改个人 信息的功能。这些功能的是通过用户登陆模块,用户注册模块和修改个人
20、信息模 块来实现的。 论坛系统部分:此部分为整个 BBS 系统的基本功能体现,显示帖子列表,阅 读帖子和回复帖子的功能都在此部分中得以体现。而整个功能也同样是通过三 个小模块来实现。 留言系统部分:一般 BBS 系统都有发送留言短信的功能,在操作上一般分为 留言发送,回复留言以及浏览阅读留言三个方面。其系统模块组织结构图如下: BBS 系统 用户管理模块论坛系统模块留言系统模块 用 户 登 陆 模 块 用 户 注 册 模 块 用 户 资 料 修 改 模 块 显 示 帖 子 列 表 模 块 发 表 帖 子 模 块 阅 读 和 回 复 帖 子 模 块 发 表 留 言 模 块 阅 读 留 言 模 块
21、 浏 览 留 言 模 块 第 6 页 共 21 页 图 4-1:BBS 系统模块图 4.24.2 数据库结构的设计数据库结构的设计 由于本系统所涉及到的功能不是特别多,所以设计的表单也不是特别多,本论 坛的数据结构中主要包括 4 个基本信息表,根据系统功能分析,他们分别是用户信 息表,文章信息表,留言信息表以及论坛菜单信息表。信息表的基本功能如下: (1)用户信息表(user):记录所有可以登陆该系统的用户名,密码和其他相关数据。 (2)文章信息表(bbs):记录了论坛所有的文章信息,包括回复的文章信息。 (3)论坛菜单信息表(bbsmenu):该表存放了论坛的所有版块信息,包括版块的名 称,
22、版块的描述信息和版块的版主名称。 (4)留言信息表(message):此表记录会员所发的所有信息留言,包括留言的标题, 留言内容,留言发送者及留言接收者等信息。 具体设计见后页表设计: 1. 用来存放系统用户信息的用户信息表 第 7 页 共 21 页 表 4-1 user 表 列名数据类型长度允许空说明 id varchar16N用户编号(自动编号) useridvarchar50论坛系统的登陆名称 pwdvarchar50论坛系统的登陆密码 namevarchar50用户的呢称 sexbit10 和 1 不确定 birthdaychar20用户注册时输入生日信息 2. 用来存放发布的帖子相关
23、信息的文章信息表 表 4-2 bbs 表 列名数据类型长度允许空说明 idbigint8N帖子信息编号(自动编号) belongtoint4用于标识论坛版面 titlevarchar500帖子标题 contenttext16帖子内容 writervarchar50发表帖子的作者 recivint4某一篇帖子回复帖子数目 hitint4某一篇帖子被点击的次数 bbsdatedatetime8发表帖子的时间 flagint4标识帖子是否被锁定 3. 用来存放论坛菜单信息的论坛菜单信息表 表 4-3 bbsmenu 表 列名数据类型长度允许空说明 idint4N论坛菜单编号(自动编号) titlev
24、archar100版面名称 mangervarchar500管理该版块的版主名称 contentvarchar500该版面的描述 4. 用来存放留言信息的留言信息表 第 8 页 共 21 页 表 4-4 message 表 列名数据类型长度允许空说明 idint4N留言信息编号(自动编号) contentchar100留言的内容 to-manchar50留言的接收者 from-manchar50留言的发送者 isreadint4标识留言是否已经被阅读 5 5系统详细设计系统详细设计 5.15.1 论坛首页模块论坛首页模块 .1 功能描述功能描述 论坛登录后首先是进入的论坛首页,
25、首页主要实现以下功能: (1)显示论坛的各个版块, (2)实现论坛的内容导航 (3)提供用户修改个人信息的功能 (4)提供已经登录的用户的注销功能 (5)显示是否有新留言 .2 界面设计界面设计 图 5-1 论坛首页 第 9 页 共 21 页 .3 工作流程及代码设计工作流程及代码设计 当用户输入自己的用户名和密码后,单击“登录”按钮,经过 logincheck.asp 将信息进一步处理之后,验证用户名和密码无误后便进入论坛首页页面,在此页面,用 户能够实现发表新贴,阅读回复帖子以及发送接受论坛留言的功能。 论坛首页命名为 default .asp 其核心代码如
26、下: 在这里,我们首先取出该用户的用户名称,然后利用该用户的名称和一个标 志 isread 查询 messag 表,如果记录集不为空,说明该用户有新的未读消息,因此显 示你有新短消息,提醒用户查看留言 此段代码如下: 5.25.2 新用户注册模块新用户注册模块 .1 功能描述功能描述 登录 BBS 后,若想在论坛上实现其功能,必须成为普通用户,其新用户注册页 面的功能就是收集用户的基本信息,并对该信息的有效性进行最基本的验证,如用 户名是否为空,密码是否为空等,同时将用户账户的密码用 md5 算法加密后保存 在数据库中,从而实现用户账户的安全保护。 第 10 页 共 21 页
27、.2 界面设计界面设计 图 5-2 用户注册页面 .3 工作流程及代码设计工作流程及代码设计 新用户注册界面命名为 reg.asp,在系统登录页面点击“注册”便超链接进入 该页面。当用户输入自己的注册信息后,单击“现在注册!”按钮,便将注册信息 发送到 reg1.asp,在客户端对表格信息进行验证。 此注册页面是在 HTML 代码中直接嵌入 VBScript 代码的方式,其实现的核 心代码如下: function chkform(form) if(form.idname.value=) alert(用户名不能空。); form.idname.select();
28、return(false); if(form.password.value.length6) alert(密码长度不小于 6。); form.password.select(); return(false); if(form.password.value!=form.rpassword.value) 第 11 页 共 21 页 alert(两次输入密码不相同。); form.rpassword.select(); return(false); return(true); onSubmit=return chkform(this),其中 chkform()就是负责在客户端对表格信 息进行验证的函
29、数,这样做有利于减轻服务器的负担,提高系统的性能。 该函数实现用户名不为空,密码长度验证,以及两次密码输入是否相同的验证。 其实现方法为:当用户填写完表单后,首先把填写的结果传递给指定的程序检 查,在本系统中采用了函数 chkform()来检查填写结果的合法性。在 reg.asp(注册 页面)代码中描述了一个名称为 form1 的 From, 从中可以看出,当 用户单击“注册”按钮时,首先将会由函数 chkform(this)来对用户输入的字符进 行有效性检查,如果合法,则会将客户端的信息传给 reg1.asp,提醒用户通过登录页 面重新登录系统。 5.35.3 会员登陆模块会员登陆模块 5.
30、 功能描述功能描述 会员登录页面(default.htm)该页面表单的功能是获取用户名和密码,并验证用 户名,密码是否为空等。 该页面实现方法如下: 会员在登录框内输入用户名和密码,单击“登录”按钮时会将填写的结果交 给指定的程序,检查输入用户名和密码是否为空,该功能实现方法与前面的 chkform()函数的实现方法一样。 第 12 页 共 21 页 .2 界面设计界面设计 图 5-3 登录界面 .3 工作流程及代码设计工作流程及代码设计 这页相当于是 bbs 系统的 HomePage,在这页实现对用户的身份判断。可以 看出会员登录页面中描述了一
31、个名称为 loginform 的 From,当单击用户“登录” 按钮时,将首先会由函数 cheform(this)来对用户输入的字符进行有效检查,如果合 法,则会将客户端的信息传给 logincheck.asp 进行进一步的处理。 其实现的核心代码如下: 判断账号及密码是否正确 set recCheckUser=server.CreateObject(ADODB.recordset) uid=trim(Request(userid) upwd=md5(trim(Request(pwd),32) strSQL=select * from user where UserId=&Request(us
32、erid)& and pwd=&md5(Request(pwd),32)& recCheckUser.Open strSQL,conn if not recCheckUser.EOF then session(viewflag)=recCheckUser(viewflag) session(pwd)=upwd response.cookies(loginok)=true session(name)=uid response.redirect ./bbs/default.asp set conn=nothing 第 13 页 共 21 页 recCheckUser.Close set recCh
33、eckUser=nothing Response.End else 用户账号及密码不正确 recCheckUser.Close set recCheckUser=nothing set conn=nothing Response.Write window.alert(您输入的账 号及密码错误,请重新输入!) 从 logincheck.asp 的代码段可以看出,首先是将用户名和密码从 Request 范围 中取出来,然后以用户名和密码作为搜索条件搜索数据库,如果返回的结果集不为 空,则首先将用户名保存在 Session 范围,最后将页面导向到了论坛的首页,否则向 用户返回出错信息。 5.45.4
34、 用户资料修改模块用户资料修改模块 .1 功能描述功能描述 当会员登录成功以后,导航条中就会出现修改个人信息的超链接,用户单击修 改用户信息就会进入修改页面,实现用户对自己信息的修改操作。 .2 界面设计界面设计 图 5-4 用户资料修改页面 .3 工作流程及代码设计工作流程及代码设计 要更改用户注册信息,就必须要与数据库相连,所以此页面要引用数据库连接 页 Conn.asp。从过程上来看,当用户登陆成功后,用户的用户名就会保存到 第 14 页 共 21 页 session 范围中,因此在 update.asp 中首先是从 session 范围取
35、出用户名,然后用该 用户名作为检索数据库的条件,最后将这些信息以表格的形式输出给用户;当用 户单击“确认修改”时,会将用户修改以后的信息保存到数据库。其核心代码如 下: sql=select * from user where userid=&session(name)& rs.open sql,conn,1,3 rs(userid)=idname rs(pwd)=md5(pwd,32) rs(name)=username rs(zwid)=power rs(sex)=sex rs(question)=question rs(answer)=md5(answer,32) rs.update 5
36、.55.5 发帖模块发帖模块 .1 功能描述功能描述 显示帖子列表页面的功能是对每个版块的内容和所有标题进行分页显示。 发表帖子页面主要用与收集帖子标题和所发文章的内容,而当人们在帖子列表页 面中单击某个帖子的内容时,将会把该帖子的标号一起传给 bbs-look.asp,然后通 过语句 sql=select *from bbs whereid=&request(id)利用该标号作为搜索条件 将帖子的相关信息从数据库里读取出来,从而完成阅读帖子的功能。而单击“回 复”按钮时,将会把表单内容也就是回复的内容提交给服务器。 .2 界面设计界面设计 图 5-5 显示帖子
37、页面 .3 工作流程及代码设计工作流程及代码设计 登录成功进入论坛首页后,就可以通过点击进入各个版块内,实现显示,发表, 阅读,回复帖子的功能,在显示帖子列表里面利用 session 判断用户是否拥有发表 新贴或回复帖子的权限,在这里,首先判断 session 范围内的 viewflag 是否大于零, 第 15 页 共 21 页 如果大于零说明已经登录,拥有权限发表新帖和跟帖,否则,发表新帖和回复帖子 的超链接不可见,用户就只有阅读的权限。 0 then% a href=bbs_new.asp?id= 发表新贴 当用户填完所要发表的信息后,单击“发表”按钮时,这些信息传回自身,
38、也 就是将调用自身来处理这些信息,这个时候,页面把信息保存在 Request 范围内。 从这里可以看出页面接受请求后,将信息读取出来并插入到数据库中。 sql=select * from bbs rs.open sql,conn,1,3 rs.addnew rs(belongto)=request(id) rs(parent)=0 rs(flag)=request(flag) rs(title)=request(title) rs(content)=request(content) rs(hit)=0 rs(reciv)=0 rs(writer)=session(name) rs(laston
39、e)=session(name) rs(bbsdate)=date() rs.update rs.close response.Redirect(bbs_view.asp?id=&request(id) end if 回复功能的实现与发表功能类似,在这里就不再赘述了。 5.65.6 留言模块留言模块 .1 功能描述功能描述 如果用户需要给其他的某个用户发送留言,单击显示文章列表页面的“给 xx 留言”超链接,将会进入发送留言的页面。如果有新留言,在首页上面有超链接的 显示,点击进入便可以查看留言;如果想回复该留言,则点击“回复”按钮,出现 与发送留言相同的界面。发送,查看,回复
40、留言的功能主要是为了实现 BBS 系统 第 16 页 共 21 页 内部用户之间的交流与沟通。 .2 界面设计界面设计 图 5-6 发送留言页面 图 5-7 查看留言页面 .3 工作流程及代码设计工作流程及代码设计 假如用户有未读的短信,系统将会首页上提示“你有新留言”,单击该超链接 就会进入查看留言的页面,当用户单击查看留言内容页面下角的“回复该留言” 超链接后,就进入了回复页面,该功能的实现过程与发送留言功能的实现方法相同。 在发送留言信息页面上,用户需要输入留言标题和留言内容,当用户单击“发送” 时,进入 send.asp 页面。核心代码如下: 如果用户有
41、未读的留言,会在首页中提示,这是通过将用户名从 session 对象 中提取出来,然后利用该用户名称和标志字段 isread=0 或者 isread=1 来判断状态, 如果为 0 则从 message 表中将发给该用户的为读留言显示出来,其部分核心代码 如下: 回复留言核心代码与发送留言类似,就不赘述了。 5.75.7 账户安全保护的实现账户安全保护的实现 .1 系统安全描述系统安全描述 系统的安全主要指的就是网络安全,即网络上信息的安全。在 BBS 系统中, 最重要的信息就是用户的密码了。如果被黑客盗取了密码,则黑客便拥有了用户 的权限,然后利用它做些恶作剧或者违法乱纪的事情
42、。所以,就需要对用户的信息 特别是用户的密码信息进行加密存放,在本系统中,就是利用 md5 算法,对用户注 册和修改时的密码进行加密后存放进数据库,这样,就算遭遇黑客攻击进入数据库 后,所见到的用户密码是 md5 加密后的乱码,无法盗用,从而实现了账户安全的保 护。 .2 md5md5 算法描述算法描述 md5 的全称是 message-digest algorithm 5(信息-摘要算法),是一种加密协议 算法,在 90 年代初由 mit laboratory for computer science 和 rsa data security inc 的 ronald l. r
43、ivest 开发出来,经 md2、md3 和 md4 发展而来。它的作用是让大容量 信息在用数字签名软件签署私人密匙前被压缩成一种保密的格式(就是把一个 任意长度的字节串变换成一定长的大整数)。 以下为 md5 的算法描述 : 对 md5 算法简要的叙述可以为:md5 以 512 位分组来处理输入的信息,且每 一分组又被划分为 16 个 32 位子分组,经过了一系列的处理后,算法的输出由四个 32 位分组组成,将这四个 32 位分组级联后将生成一个 128 位散列值。 第 18 页 共 21 页 在 md5 算法中,首先需要对信息进行填充,使其字节长度对 512 求余的结果 等于 448。因此
44、,信息的字节长度(bits length)将被扩展至 n*512+448,即 n*64+56 个字节(bytes),n 为一个正整数。填充的方法如下,在信息的后面填充一个 1 和无 数个 0,直到满足上面的条件时才停止用 0 对信息的填充。然后,在在这个结果后 面附加一个以 64 位二进制表示的填充前信息长度。经过这两步的处理,现在的 信息字节长度=n*512+448+64=(n+1)*512,即长度恰好是 512 的整数倍。这样做 的原因是为满足后面处理中对信息长度的要求。 md5 中有四个 32 位被称作链接变量(chaining variable)的整数参数,他们分别 为:a=0 x01
45、234567,b=0 x89abcdef,c=0 xfedcba98,d=0 x76543210。 当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的次数 是信息中 512 位信息分组的数目。 .3 账户安全的实现账户安全的实现 账户安全保护的实现主要是通过在注册用户和修改用户信息的时候运用 md5 函数,对账户的密码实行保密存放。体现在数据库 user 表中,用户密码是已 乱码方式存放,这样即使攻击数据库,也得不到账户的密码,看见的也只是乱码。 运用 md5 函数首先要在该程序文件中加入如下语句,以方便调用: 可以把 md5 算法文件当作一个函数,在需要加密的字段
46、使用该“函数”即可。 在本系统中有两处需要用到 md5 加密,一是用户注册的时候: set rs=server.CreateObject(adodb.recordset)创建数据库操作记录对象 sql=select * from user rs.open sql,conn,1,3 rs.addnew添加数据集 插入数据库用 rs(question)=question rs(answer)=md5(answer,32) 二是修改用户信息时,需要改动原有密码的时候: sql=select * from user where userid=&session(name)& rs.open sql,co
47、nn,1,3 rs(userid)=idname rs(pwd)=md5(pwd,32) 这样,就完成了简单的账户安全保密的实现。 6 6系统测试系统测试 正确配置 IIS 和数据库之后,我们通过 Internet 信息服务浏览 default.htm,若 正常便可以打开系统的登陆页面。输入用户账号密码或者再注册新用户。正常 第 19 页 共 21 页 注册后出现以下界面 图 6-1 成功注册 返回登录进入 default.asp,也就是论坛首页,图 5-1 论坛首页。 在首页中,可以完成了发表帖子,阅读帖子的功能。如果是管理员登陆则能实 现删除帖子的功能。若非管理员登陆则帖子后面没有删除这个
48、超链接 图 6-2 删除功能 点击删除后,出现如下提示: 图 6-3 删除成功 在帖子查看界面点给某某留言,可以实现留言功能,成功留言后,会出现如下 提示: 图 6-4 发送留言成功 如果想退出 BBS 系统,可以点首页右上角的退出系统超链接,便从新返回到 了论坛登陆页面。 打开数据库企业管理器,进入 user 表中可以看出,用户的 password 也就是密 码已经通过 md5 函数进行了加密处理了。 图 6-5 数据库用户信息 经过努力,通过测试可以看出,系统已经基本达到了预期目标,能顺利运行; 能实现用户注册,修改资料等功能,能实现发帖,回复帖子等 BBS 基本操作功能; 实现用户账户的
49、安全。 第 20 页 共 21 页 结结 论论 目前,经过紧张而有序的毕业设计,BBS 系统开发与账户安全保护的实现的 主体功能已全面实现。该系统操作界面简洁,操作方便,基本功能齐全,实现了用 户注册,修改资料,发表新帖,回复帖子、用户留言等基本功能。并通过运用 MD5 函数,完成在数据库里加密存放用户密码的功能,从而达到保护用户账户安全的 目的。但是也有需要进一步改进的地方。 BBS 系统是基于 ASP 和 SQL Server 20XX 开发的用于校园网内同学之间交 流的简易论坛。也是自己完成的第一个项目,通过这次毕业设计我学到了很多知 识,进一步掌握了 ASP 和 SQL 语言,对 MD
50、5 算法也有了更深层次的认识。 由于以前很少应用这方面的知识,所以也存在很多不足之处,还有许多功能 不完善和不足,这些都是有待进一步开发的后续工作。虽然我完成了 BBS 系统 基本功能,但是由于能力和时间有限,功能上还有很多不足之处,比如没有实现文 件上传等功能,界面设计可以更加人性化。希望在以后的应用实践中这些不足能 够得到改进。 参考文献参考文献 1方睿,刁仁宏,吴四九.网络数据库原理及应用M.成都:四川大学出版社,20XX。 2邓文渊,陈惠贞. ASP 与网络数据库技术M.北京:中国铁道部出版社,20XX。 3许曰滨,程亮.ASP 网络编程实例M.北京:人民邮电出版社,20XX。 4屈喜龙,朱杰.ASP+SQL Server 开发动态网站实例荟萃M.北京:机械工业电出版社, 20XX。 5黄雷,杨志,游坤等.ASP+ HTML+Dreamweaver+Access 开发动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 61169-64:2025 FR Radio-frequency connectors - Part 64: Sectional specification - RF coaxial connectors with 0,8 mm inner diameter of outer conductor - Characteristic imp
- 【正版授权】 IEC 61643-21:2025 EN-FR Low voltage surge protective devices - Part 21: Surge protective devices connected to telecommunications and signalling networks - Requirements and t
- 【正版授权】 IEC 62841-3-16:2025 FR Electric motor-operated hand-held tools,transportable tools and lawn and garden machinery - Safety - Part 3-16: Particular requirements for transport
- 谷雨互动营销方案
- 西瓜校园营销方案
- 成人搏击营销方案
- 2025年心理咨询师之心理咨询师三级技能能力检测试卷A卷附答案
- 2025年二级建造师《市政工程管理与实务》案例分析真题及答案
- 中国废旧金属等回收项目投资可行性研究报告
- 中国西藏天珠手链项目投资可行性研究报告
- 5G通信模块设计项目分析方案
- 汽车维修入股协议合同
- 第五讲佛教在中国的传播及流变课件
- 安全教育培训记录表91987
- 《可爱中国我的家》地方思政课
- 毕业论文-基于单片机的智能防盗系统的设计与实现
- 南头竣工报告1验收报告
- 宝沃bx5说明书电子版
- GB4789.2-2022食品安全国家标准 食品微生物学检验 菌落总数测定
- 部编版小学六年级上册语文《期中考试试卷》(附答案)
- SMT钢网设计规范标准
评论
0/150
提交评论