asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统

基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于asp+sqlserver的个人日志系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

文章目录:

  • 基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)
    • 1、项目简介
    • 2、资源详情
    • 3、关键词:
    • 4、毕设简介
    • 5、资源下载

1、项目简介

  1. 个人日志系统是基于ASP和SQL Server的一种在Internet上公开发布的快速更新的个人网站系统,使用者可以简单快速地完成个人网页的创建、发布和更新,是一个方便的供广大互联网用户相互交流的平台。它可以是单用户的,也可以是多用户的,本文主要研究单用户系统,主要包括前台浏览、评论日志功能,后台发表日志的功能、相关的管理功能和修改账户信息等功能。本文主要介绍了该系统的基本功能及具体设计实现方法:系统分析中系统的结构图分析了系统各模块的功能;在系统设计中,详细地展现了系统各个功能模块的设计思路、所需的数据库表及表字段等;最后介绍系统的安全功能——账号密码加密的必要性及具体实现方法。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:8113个字23页
包含内容:整套源码+完整毕业论文
资源文件目录简图如下:
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第1张图片


3、关键词:

个人日志系统;ASP;SQL;加密

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

1 引言
个人日志系统是一种十分简易的傻瓜式个人信息发布方式,让任何人都可以像免费电子邮件的注册、书写和发送一样,简单快速地完成个人网页的创建、发布和更新,用户可以通过该系统发布日志、图片等各种信息,是一个方便的供广大互联网用户相互交流的平台。

一般一个日志系统就是一个页面,它通常由简短而经常更新的日志文章构成,所有文章都是按照日期排列,现在流行的博客就是日志系统的具体表现。看上去平淡无奇,毫无可炫耀之处,但它可以让每个人零成本地创建自己的网络媒体,每个人都可以随时把自己的想法和灵感在日志系统站点上更新。它的人性化和平民视角使得它提供的消息更贴近人们的生活,而且它搜集的新闻资料大多是第一手资料。简言之,该系统具有友好的用户界面、简单易懂的操作方式、强大的功能,有广泛的应用空间和无可比拟的价值。

2 开发概述
2.1 开发背景
省略

2.2 系统概述
个人日志系统基本上有下列三种类型:
1、个人杂志型。作者针对某些主题,每天贴出最新报导,其中有个人观察、网络文章链接及读者响应等,其中也有很多跟技术有关的网络日志。
2、传统日记型。作者随时写下每日生活中的所思所感,同时也加入生活照片,是目前很多大学生等青年人群非常喜爱的一种网络工具。
3、网络导览型。作者以推荐当日值得一读的网络文章、网站、网络日志为主要任务,相当于过滤网络内容的义工,基本形式就是网络资源的连接,并加入作者的观点与评论,读者也可参与讨论。
当然也有以上述基本类型混合而成的网络日志,总体而言,它们的特色都是个人化,更新快,有很多网络链接。网络日志之所以这么红,最主要的原因还是这种工具非常方便,收费便宜、易于使用,有的甚至完全免费,用户从申请到建立好自己的网络日志,只要短短十数分钟。

2.3 开发工具概述
本系统所用的开发工具是ASP和SQL server 。
1、 ASP
最初,互联网的应用只局限于数据的共享,随着客户机/服务器模式的引入,以及Java语言、VBScript和JavaScript等脚本语言和ASP技术的应用,互联网的使用方式发生了根本的变革,网页也开始精彩起来,许多条理清晰、交互性强、内容丰富的网页深深吸引着网络用户。

在网络程序设计中,ASP(Active Server Pages)是服务器端的一种未经编译的开放式程序。程序设计者可按ASP的要求来编写功能强大的网络应用程序,并实现服务器端的数据处理及数据上传与下载。这种程序通常被称作“ASP程序”(或“ASP网页”)。一个ASP程序通常包括HTML标签语句、文本和脚本程序等。由于这类程序是以“.asp”为扩展名存放的,因此对应的文件可称作“ASP文件”。

网络开发者使用脚本语言和HTML语言设计完成一个ASP程序后,可通过文本编辑器输入到机内,并将它保存在Web服务器的外部存储器上(文件的扩展名为.asp)。准确地说,应当将ASP文件置于Web发布主目录(C:\Inetpub\wwwroot)下,或者该主目录的一个子目录下。

当客户从浏览器上读取该ASP文件时,将向Web服务器发出HTTP请求,服务器收到该请求后调用ASP,读取请求的文件,执行其中的脚本命令,生成标准的Web页回送给客户的浏览器。此过程如下图所示:
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第2张图片

2、 SQL server
SQL Server 是一个关系数据库管理系统,是Microsoft推出的数据管理与分析软件。SQL Server 2000是为迅速提供可伸缩性电子商务、企业及数据仓库解决方案而开发的完整数据库与分析软件产品。SQL Server 2000定位于Internet背景下的数据库应用,它为用户的Web应用提供了一款完善的数据管理和数据分析解决方案,极大地缩短了用户开发电子商务、数据仓库应用的时间。SQL Server 2000还提供对XML(Extensible Markup Language扩展标示语言支持)和HTTP的全方位支持。
数据库blog 登陆名sa 密码hyde

3 系统分析
3.1 系统功能流程图
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第3张图片

3.2 系统模块划分
该系统由前台模块和后台管理模块构成:

表1 功能模块
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第4张图片

因为个人日志是个人展现自己的一个网上舞台,在这里日志所有者可以自由地把自己的个性和才能展现给大家,并能够同来访者交流,所以它的功能划分会相对比较简单些。

3.3 系统功能设计
前面已经介绍了系统的流程与模块划分,这里将详细描述各个功能模块:
表2 前台功能列表
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第5张图片

表3 后台功能列表
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第6张图片

4 数据库设计
4.1 数据库表之间的关系
本系统需要设计的数据库表单有:
表4 系统数据表
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第7张图片

这些数据表之间的关系如下:

asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第8张图片

4.2 数据库表的详细设计
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第9张图片
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第10张图片

5 系统实现
5.1 前台的实现
根据前面的描述,前台共有4个模块和相关的公共模块,统一在首页导航,首页页面布置如下:
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第11张图片

(1)日志功能模块
日志版块可以说是本系统里最复杂的一个前台功能块,文章的首页程序要求把最近的日志的时间计算出来,然后把此时间段的日志列出。
在首页还列出了日志的评论、全部浏览的入口和访问量,在日志版块的功能中,还有日志详细内容页、日志发表评论和日志列表页。
该模块包括日志首页、日志内容显示页、日志评论显示页等页面。
(2)图片功能模块
图片功能模块同日志功能模块很相似,也分为首页、图片内容查看、图片列表页,但没有搜索程序,图片可以通过在首页单击直接进入图片内容页。
(3)链接功能模块
链接功能模块比较简单,只有一个列表程序页,它提供了日志空间所有者感兴趣的网站的链接,与访问者共享,因此只需要一个页面把所有的链接列出来就可以了。
(4)公共程序块
公共程序块的内容包括:日志空间的标识logo和一级菜单,这在前面的程序页面规划中已经提到过了;还有就是日志空间页面左边的搜索、热点评论、日志统计和最新链接,这4部分分别放在不同的程序文件中。

5.2 后台的实现
系统的后台主要体现管理的功能,是对前台显示信息的管理。个人网上日志系统源于个人使用的需求,因此本系统是以单用户为研究对象,如有需要以后可扩展为多用户系统。
单用户的日志系统,其重点在于完成信息的管理、分类和思想的交流,不需要复杂的权限验证,所以后台功能包括发表信息和系统设置两大部分。
(1)发表信息:发表日志、链接、图片及相关的管理。
(2)系统设置:管理分类、管理评论、管理账号、退出登录。

后台管理功能流程图如下:

asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第12张图片

(1)登录验证
日志系统管理者进入后台时,需要验证身份。输入用户名和密码后,单击【login】按钮完成登录。提交表单时,通过js脚本验证不能提交空的用户名和密码:

function EW_onError(form_object, input_object, object_type, error_message) 
{
	alert(error_message);									
	if (object_type == "RADIO" || object_type == "CHECKBOX") {
		if (input_object[0])
			input_object[0].focus();
		else
			input_object.focus();
	}	
else if (!(document.all && document.all["_"+input_object.name+"_editor"]))
 { 
		input_object.focus();  
	}  
	if (object_type == "TEXT" || object_type == "PASSWORD" || object_type == "TEXTAREA" || object_type == "FILE") 
    {
		if (!(document.all && document.all["_"+input_object.name+"_editor"]))
			input_object.select();
	}
	return false;	
}

密码验证程序是通过验证数据库表blog中的账号来判断是否是系统用户:

   userid = Request.Form("userid")
	passwd = md5(Request.Form("passwd"))
	Set rs = conn.Execute( "Select * from [Blog] where [Username] = '" & userid & "'")
	If Not rs.Eof Then
		If UCase(rs("Password")) = UCase(passwd) Then
			Session("blog_status_User") = rs("Username")
			Session("blog_status_UserID") = rs("BlogID")
			validpwd = True
		End If
	End If
	rs.Close
	Set rs = Nothing
	conn.Close
	Set conn = Nothing
	End If

(2)管理日志/链接/图片
这些都是需要发布的信息,其中日志的信息最复杂,这里主要说明管理日志功能,其他的只是数据表字段不同,管理操作的实现方法很相似。

在这个功能模块中,主要对日志空间中的日志进行添加、编辑、删除、拷贝等操作,这些操作需要在日志列表中完成,列表是管理操作的载体,结果也在列表中体现。比如,添加新日志后,刷新列表就可以看到。

列表需要解决两个问题:快速搜索和分页。
(1)快速搜索的难点在于对输入的关键字的处理,以及结果列表的排序。
(2)分页的难点在于准确快速地显示每页的内容。
通过对session的验证,判断管理者的权限,失败则返回登录页面:

<% If Session("blog_status") <> "login" Then Response.Redirect "login.asp" %>

为了使日志列表能及时刷新,需要告诉浏览器不要缓存此页面。调用response对象的相关方法来禁止浏览器缓存此页,具体程序见aspmkrfn.asp,该程序是日志系统的公共函数文件,包括格式化时间、调试、上传文件等。

快速搜索功能,由\admin\articlelist.asp完成,首先定义了完成搜索功能必需的变量:dbwhere、masterdetailwhere、searchwhere、a_search、b_search及whereclause,用于处理搜索条件,建立SQL查询字符串。然后连接数据库,执行查询语句,得到记录集(recordset对象)。这样就完成了搜索功能的大部分,剩下的就是把记录集按照顺序显示出来。
显示记录集,需要与页面的输出格式打交道,一般都是把记录集显示为列表。如果记录集中的数据太多,就需要分页显示,分页的算法是,通过页数和分页量计算出当前页的记录在记录集中的首位置和末位置,每翻一页,根据提交的页数,重新计算首尾记录的位置。
(3)管理分类
管理分类的界面与日志列表相似,也包括搜索、添加、查看、修改、删除、拷贝等功能,只是分类信息是存在分类表中的,信息保存的地方和字段不同,程序原理相同,参照日志管理列表编写代码,可以按照关键字搜索分类名称,需要注意的是,分类表的表名为category,相关字段的名称要对应。
(4)管理评论
评论是用户在前台浏览日志等信息时发表的,在后台可以查看其内容,也可以选择删除某些评论。评论列表与前面的列表界面相似,不同在于评论只能查看和删除。对评论列表进行操作时,修改的数据表feedback中的数据,删除评论时,支持批量删除。
(5)管理账号
本系统为单用户系统,只有唯一一个管理员,实际上不需要账号列表,在此做个示意,多用户的系统就需要进行管理员权限分级,高级账号可以管理普通账号列表。
账号列表和其他列表并没有太大区别,主要是显示的字段信息不同,与之相关的数据表是blog,代码与前面列表也大同小异,用户查看账号详细信息,包括发表日志的数量统计,也可以修改自己账号的密码及其他信息。

6 系统安全
6.1 系统安全简介
系统的安全性除了网络安全外,最重要的就是保障用户口令的安全性,避免其被网络黑客窃取进而盗用用户权限,这就需要对用户口令进行加密存放。在单用户系统中,加密比较简单,只需要配合用户修改信息时重新将修改后的用户口令加密后存放。如果是在多用户系统中,则还要涉及用户注册时对注册时的口令进行加密存放。

在现阶段,我们一般认为存在两种加密方式,单向加密和双向加密。双向加密是加密算法中最常用的,它将我们可以直接理解的明文数据加密为我们不可直接理解的密文数据,也可以将密文数据解密为明文数据;单向加密则只能对数据进行加密,也就是说,没有办法对加密以后的数据进行解密。在实际中的一个应用就是数据库中的用户信息加密,当用户创建一个新的账号或者密码,他的信息不是直接保存到数据库,而是经过一次加密以后再保存,这样,即使这些信息被泄露,也不能立即理解这些信息的真正含义。

本系统采用的是md5加密算法。

6.2 加密算法描述
md5就是采用单向加密的加密算法,对于md5而言,有两个特性是很重要的,第一是任意两段不同的明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有任意两段明文加密以后得到相同的密文,后者的意思是如果我们加密特定的数据,得到的密文一定是相同的。

md5的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是md2、md4还是md5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但md2的设计与md4和md5完全不同,那是因为md2是为8位机器做过设计优化的,而md4和md5却是面向32位的电脑。

对md5算法简要的叙述可以为:md5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

程序主要用function过程实现加密逻辑与结果返回,用sub过程实现加密算法的具体过程,典型代码如下:

Private Function LShift(lValue, iShiftBits)
If iShiftBits = 0 Then
LShift = lValue
Exit Function
ElseIf iShiftBits = 31 Then
If lValue And 1 Then
LShift = &H80000000
Else
LShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
Err.Raise 6
End If

If (lValue And m_l2Power(31 - iShiftBits)) Then
LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
Else
LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
End If
End Function

6.3 系统安全实现
系统安全实现主要就是把md5加密文件嵌入需要用到加密的程序文件中,先在该程序文件中加入如下语句:

<!--#include file="md5.asp"-->

可以把md5算法文件当作一个函数,在需要加密的字段使用该“函数”即可。在本系统中有两处需要用到md5加密,一是用户修改密码时(blogedit.asp):

tmpFld = md5(Trim(x_Password))
If Trim(tmpFld) & "x" = "x" Then tmpFld = Null
rs("Password") = tmpFld

这样用户输入的密码就被加密存放在数据库中,可以防止黑客盗取密码,即使得到了,也是加密后的密文,无法使用。
二是用户登录后台验证密码时(login.asp):

userid = Request.Form("userid")
	  passwd = md5(Request.Form("passwd"))

因为同样的明文经过md5加密后得到的密文相同,用户登录时输入的密码经过md5加密与数据库里存放的加密密码对比即可判断是否为系统用户。

7 系统测试
经过正确配置系统运行环境IIS、ODBC数据源和数据库用户,该系统运行情况如下:
7.1 访问首页
在IE浏览器地址栏中输入地址:http://127.0.0.1/index.asp即可访问站点首页,界面如下:
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第13张图片

图6 站点首页

其中日志版块和图片版块首页列出了最新日志及最新图片,而链接首页则列出了所有链接;点击进入查看日志页面,可以浏览评论、发表评论,截图如下:
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第14张图片

图7 评论日志
7.2 后台管理
在首页点击【登录】,输入正确的用户名和密码即可进入后台管理界面:
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第15张图片

图8 后台管理界面

在后台可以进行添加或者修改日志/图片/链接的操作,例如添加日志:
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第16张图片

图9 添加日志
管理评论功能(支持批量删除):
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第17张图片

图10 删除评论
管理账号:
asp毕业设计——基于asp+sqlserver的个人日志系统设计与实现(毕业论文+程序源码)——个人日志系统_第18张图片

图11 修改用户信息

经过测试,系统运行正常,能实现所设计的功能,包括浏览、评论日志,用户登录、修改用户信息和相关的日志/图片/链接管理功能,系统达到预期目标。

结 论
经过几个月的努力,终于完成了个人日志系统的设计实现以及安全保护功能,它是利用ASP和SQL Server 开发的用于个人用户发布信息的简易平台。通过对个人日志的起源到对其特点和应用前景的描述,概括了日志系统的基本概念;系统开发实现了浏览日志、发表评论的前台功能和后台管理日志/图片/评论/链接、修改账号信息、账号密码安全保护等基本功能,详细描述了系统运行的情况和使用操作步骤。当然这些都是一个个人日志系统最基本的功能,还可以在此基础上增加更多实用功能,比如邮件系统等。

参考文献
[1]马军.ASP网络编程从入门到精通[M].北京:清华大学出版社,2006。
[2]方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005。
[3]许曰滨,程亮.ASP网络编程实例[M].北京:人民邮电出版社,2001。
[4]万峰科技.ASP网站开发四“酷”全书[M]. 北京:电子工业出版社,2005。
[5]邓文渊,陈惠贞,陈俊荣.ASP与网络数据库技术[M].北京:中国铁道出版社,2003。
[6]屈喜龙,朱杰.ASP+SQL Server开发动态网站实例荟萃.北京:机械工业出版社,2006
[7]潘清芳.使用MD5 加密数据库系统的设计[J].第3 卷第2 期:77-143

致 谢
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载

序号 毕业设计全套资源(点击下载)
本项目源码 基于asp+sqlserver的个人日志系统设计与实现(源码+文档)_asp_BS架构_个人日志系统.zip

你可能感兴趣的:(精选毕业设计完整源码+论文,sqlserver,数据库,前端)