您现在的位置:网站首页答辩论文计算机毕业设计ASP毕业设计

基于Web的设备管理系统

  • 简介: 一、毕业设计(论文)题目 基于web的设备管理系统 二、主要参考文献 http://192.168.2.242/cjfd/mainframe.asp?encode=&display=&navigate= 1:基于三层结构的asp程序设计 2:基于WEB的数据库开发 3:利用ASP进行动...
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载

一、毕业设计(论文)题目

 

基于web的设备管理系统

 

二、主要参考文献

 

http://192.168.2.242/cjfd/mainframe.asp?encode=&display=&navigate=

 

1:基于三层结构的asp程序设计

2:基于WEB的数据库开发

3:利用ASP进行动态数据库查询

4:浅谈ASP开发WEB数据库应用

5:基于ASP程序的数据库安全性问题研究

6:基于ASP技术的ACCESS数据库安全隐患及对策

 

三、设计(论文)的任务要求和主要内容

 

1:阅读相关文献,整理文献,撰写开题报告,外文文献翻译

 

2:研究asp编程语言编程方法

 

3:研究asp操作数据库的方法

 

4:研究ASP操作数据库的安全性问题

 

5:完成设备管理系统

 

 

 

 

四、毕业设计(论文)工作日程计划:

毕业设计(论文)工作自  2004   2 19 日至 2004     4    24 日。

具体工作及日程安排如下:

整体方案:1:阅读相关文献,整理文献,撰写开题报告  2:研究ASP编程语言编程方法

3:研究ASP操作数据库的方法             4:研究ASP操作数据库的安全性问题

工作进度安排:

1200312~2004215   查资料、整理资料、撰写开题报告

22004219~2月底  完成系统结构的设计

3200431~48 各模块编程调试 

4200449~24  测试系统,并完成论文

一、选题   时间安排:03年12月1日 ~ 03年12月12日。

1)  指导教师召集所指导的学生,下达毕业设计任务书,布置文献阅读和开题报告、文献综述的撰写工作。

二、开题   时间安排:04年2月16日 ~ 04年2月18日。

1)   审阅开题报告、外文文献翻译。   部署毕业设计工作。

三、毕业设计

    时间安排:04年2月19日 ~  04年4月24日(共9.5周)。

停课进行毕业设计,学生在指导教师的指导下,全面进入毕业设计工作,并在4月24日前完成毕业设计报告初稿。

四、答辩

时间安排:6月1日 ~ 6 月8日(第16 ~17周)

五、任务书下达时间:                     日

六、指导教师、学院毕业设计(论文)领导小组组长签字

 

毕业设计(论文)指导教师                 

                                                                  

                                                           

学院毕业设计(论文)领导小组组长                

                                                          

 

-----------------------------

第一章          引言

当今社会是一个信息社会,一个知识经济时代。互联网正在融入我们的生活,影响和改变着我们的生活。近年来,随着网络技术的迅猛发展,越来越多的部门、企事业单位都在通过Internet对外宣传自己,同时为那些有信息需求的人提供方便快捷的服务。蓬勃发展的Web Server也顺理成章地将ASP(Active Server Pages)技术作为应用程序的重要开发工具。

 

1.1 开发设备管理系统的必要性与可行性(与传统管理方式比较)

与传统管理方式相比较,基于Web的设备管理系统能更加有效的进行信息管理。基于Web的设备管理系统应用Web数据库,对信息数据以数据库形式表示,更容易更新和管理。传统的管理方式往往以表格的形式进行管理,一旦数据过于庞大,要对这些数据进行管理时,就要花费大量的时间,而且很容易出错。对于基于Web的设备管理系统就不会有这样的问题。它利用计算机来处理信息数据的管理和更新,不仅提高了工作效率,减少了脑力和体力劳动,还大大提高了工作的准确性,不易出错。

除此之外,基于Web的设备管理系统还增加了信息数据的安全性和易阅读性。在传统的管理方式上,一旦信息数据过于庞大时,信息数据的备份也是一项繁重的工作。更重要的是这项工作还关系到信息数据的安全性问题。人工操作时,难免会有这样那样的疏忽,导致工作失误,严重的还会带来无可挽回的损失。而基于Web的设备管理系统在信息数据的备份上则不太会有这样的问题,即便有,那几率也是相当低的。至于信息数据的易阅读性则显而易见,获得数据库访问权限的用户都直接可以在网站上查阅到设备的相关信息。

 

第二章          系统涉及到的相关技术

此设备管理系统的功用主要是为管理员提供一个有效管理设备的平台,方便用户管理和使用仪器。

2.1以图表的形式来反映出整个系统的结构

------------

第五章                  系统实现方案

5.1分模块介绍各模块的关键技术、程序实现方法

本系统的程序主要是采用模块化思想来编写的。例如系统中的Index.asp文件,在程序的开头是各个功能模块:

系统配置模块(config.asp)

此模块功能主要是定义整个系统的变量,系统所要用到的变量,其本上在这里定义。语句如下:

  dim WebName

  dim border

  dim sessionvar

WebName="信息工程学院设备管理"     '设置站点名称

border="#666666"                   '设置边框颜色

连接数据库模块(conn.asp)

此模块主要功能是建立与数据库的连接,这在论文第三章创建数据库连接中已讲过,这里不再重复叙述。

系统错误处理模块(error.asp)

此模块用来显示提示出错信息。

系统函数模块(FORMAT.asp)

此模块中有系统所要用到的函数,例如:isInteger(para),这个函数是用来判断数字是否整形

function isInteger(para)

       on error resume next

       dim str

       dim l,i

       

       

       isInteger=true

       if err.number<>0 then err.clear

end function

       

       

页面结构模块(inc.asp)

在这个模块中,编写了三个函数,分别是head()menu()footer()。这三个函数实现了网页的页面顶部、导航菜单和页面底部的显示。凡是要用到这三部分的网页,只要调用这些函数就行了,不用在重新编写程序,使用很方便。

本页面应用模块(index_body.asp)

此模块是本页面的主体部分,随着页面的不同,调用模块也不相同。

 

Index.asp的程序结构

最上面是模块包含部分,将本页面所用到的模块包含在其中:

<!--#include file="inc/config.asp"-->

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

<!--#include file="inc/format.asp"-->

<!--#include file="inc/error.asp"-->

<!--#include file="inc/inc.asp"-->

<!--#include file="inc/index_body.asp"-->

    <% dim founderr,errmsg     /*定义错误标志、错误信息*/

founderr=false

errmsg="" 

 

if request("page")<>"" then    /*判断是否有错,有错误的话将错误标志位置True*/

  if not isInteger(request("page")) then

    founderr=true

errmsg=errmsg+"<br>"

end if

end if

 

if founderr then                    /*如果标志位有效,则显示错误信息,并退出程序*/

  call diserror()

  response.end

else                            /*如果正确,则继续执行下边的代码*/

call head()                     /*调用页面顶部*/

call menu()                     /*调用导航菜单*/

call index_body()             /*调用页面主体*/

call footer()                /*调用页面低部*/

end if

%>

以上便是一个程序大概的结构,充分体现了模块化的思想,就好比将一个个模块像搭积木一样构建成一个完整的页面。

    不仅系统程序体现了模块化思想,系统的结构也是如此。设备管理系统有三个模块组成:(系统结构图在第二章中)

1)   设备管理子系统

登陆成功后,进入管理页面,此时不显示数据库表。只有对左边菜单栏中“设备管理”下的添加设备、修改设备、删除设备进行操作,才可显示数据库表。

①添加设备子系统:

通过SQL中的命令“insert into 表(字段)values(值)”来完成,其中增加的值SQL命令要求不能为空,因此对输入表单中客户的未添字段,在程序中做出默认值的处理以符合SQL命令语法。其源代码如下:

<%

dim rs,rs1

if request.form("text1")="" then

response.write "<script language=javaScript>" & chr(13) & "alert('请输入仪器编号!');" & "history.back()" & "</script>"

Response.End

end if

 

if request("text2")="" then

response.write "<script language=javaScript>" &  chr(13) & "alert('请输入仪器名称!');" & "history.back()" & "</script>"

Response.End

end if

 

if request("text3")="" then

response.write  "<script language=javaScript>" &  chr(13) & "alert('请输入型号!');" & "history.back()"&"</script>"

Response.End

end if

 

gouzhidate=request("text6")

if request("text6")="" then

response.write "<script language=javaScript>" &  chr(13) & "alert('请输入日期!');" & "history.back()"&"</script>"

response.end

end if

 

yiqiID=request("text1")

yiqiname=request("text2")

xinghao=request("text3")

company=request("text4")

number=request("text5")

gouzhidate=request("text6")

address=request("text7")

 

set rs=server.createobject("adodb.RecordSet")

set rs1=server.createobject("adodb.RecordSet")

'conn="DBQ="+server.mappath("data/shebei.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

sql="select * from shebei where 仪器编号='"&yiqiID&"'"

rs.Open sql,conn1,1,1

 

if rs.EOF or rs.bof then

sql="insert into shebei(仪器编号,仪器名称,型号,厂家,出厂号,购置日期,位置) values('"&yiqiID&"','"&yiqiname&"','"&xinghao&"','"&company&"','"&number&"','"&gouzhidate&"','"&address&"')"

rs1.Open sql,conn1,1,1

response.write  "<script language=javaScript>" &  chr(13) & "alert('设备信息添加成功!');"&"window.location.href = 'add.asp'" & "</script>"

set rs1=nothing

else

response.write  "<script language=javaScript>" &  chr(13) & "alert('此设备早已添加!');" & "window.location.href = 'add.asp'" & "</script>"

end if

rs.Close

set rs=nothing

%>

②修改设备子系统:

点击修改按钮,把其原始信息以文本框的形式显示出来,便于修改字段,可使用SQL命令来实现。例如:

<%

set rs=server.createobject("adodb.RecordSet")

'conn="DBQ="+server.mappath("data/shebei.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

sql="update shebei set 仪器编号='"&yiqiID&"',仪器名称='"&yiqiname&"',型号='"&xinghao&"',厂家='"&company&"',购置日期='"&gouzhidate&"',出厂号='"&number&"',位置='"&address&"' where 仪器编号='"&IID&"' "

response.write  "<script language=javaScript>" &  chr(13) & "alert('设备信息修改成功!');" & "window.location.href = 'modify.asp'" & "</script>"

end if

rs.Close

set rs=nothing

%>

③删除设备子系统:

    通过SQL中的“delete form表where条件”命令完成,可以一次性删除多个记录。

<%

IID=request("id")

dim sql,rs

set rs=server.createobject("adodb.RecordSet")

sql = "DELETE FROM shebei WHERE 仪器编号='"&IID&"'"

rs.Open sql,conn1,1,1

response.write "<script language=javaScript>" &  chr(13) & "alert('设备管理信息已经删除');" & "window.location.href = 'delete.asp'" & "</script>"

set rs=nothing

%>

2)管理中心子系统

此子系统也由三部分组成:管理员管理、资料修改、退出管理。

      管理员管理

管理员管理其实是管理员注册,可添加新的管理员。在管理员管理此页面上,注册新的管理员就好像添加了一条新的记录。添加新的管理员只包括两部分:管理员名称和密码。在此页面上,除了上面讲的添加管理员这项功能外,在每条记录的操作栏里还有修改(edit)和删除(del)两项功能。点击edit便能进入编辑管理员页面,在这个页面上可以修改管理员的名称和密码;而点击del则进入删除管理员页面,按“确定删除”按钮便可删除本条记录。

      修改资料

修改资料的功能跟管理员管理页面上edit的功能差不多,但不同的是管理员管理页面上edit可同时修改管理员的名称和密码,而修改资料的功能只是修改密码,不能修改管理员的名称。

      退出管理

使用退出管理功能,页面便回到了管理登陆界面,若要再进入,就要重新登陆。

3)管理登陆

管理登陆模块设置在首页面,管理员只有通过管理登陆才能进入管理页面,才能对数据库进行管理。

 

5.2  ASP+Access的安全隐患

5.2.1  安全隐患

ASP+Access解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全漏洞。

1)Access数据库的存储隐患

ASP+Access应用系统中,如果获得或者猜到Access数据库的存储路径和数据库名,则该数据库就可以被下载到本地。例如:对于网上书店的Access数据库,人们一般命名为book.mdb、store.mdb等,而存储的路径一般为“URL/database”或干脆放在根目录(“URL/”)下。这样,只要在浏览器地址栏中敲入地址:“URL/database/store.mdb”,就可以轻易地把store.mdb下载到本地的机器中。要解决这个问题,可以将文件的后缀名.mdb改为.asp,这样就不能被下载了。

2)Access数据库的解密隐患

由于Access数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行异或来形成一个加密串,并将其存储在*.mdb文件中从地址“&H42”开始的区域内。由于异或操作的特点是“经过两次异或就恢复原值”,因此,用这一密钥与*.mdb文件中的加密串进行第二次异或操作,就可以轻松地得到Access数据库的密码。基于这种原理,可以很容易地编制出解密程序。

由此可见,无论是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。

3)源代码的安全隐患

由于ASP程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成ASP应用程序源代码的泄露。

4)程序设计中的安全隐患

ASP代码利用表单(form)实现与用户交互的功能,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。例如在浏览器中敲入“……page.asp?x=1”,即可不经过表单页面直接进入满足“x=1”条件的页面。因此,在设计验证或注册页面时,必须采取特殊措施来避免此类问题的发生。

5.2.2 提高数据库的安全性

由于Access数据库加密机制过于简单,因此,如何有效地防止Access数据库被下载,就成了提高ASP+Access解决方案安全性的重中之重。

1)非常规命名法

防止数据库被找到的简便方法是为Access数据库文件起一个复杂的非常规名字,并把它存放在多层目录下。例如,对于网上书店的数据库文件,不要简单地命名为“book.mdb”“store.mdb”,而是要起个非常规的名字,例如:faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55 之类的深层目录下。这样,对于一些通过猜的方式得到Access数据库文件名的非法访问方法起到了有效的阻止作用。

2)ODBC数据源

ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序中,否则,数据库名将随ASP源代码的失密而一同失密。例如:

DBPath =Server.MapPath("./akkjj16t/kjhgb661/acd/avccx55/faq19jhsvzbal.mdb ")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&DBPath

可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,数据库也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了:

conn.open "ODBC-DSN名"

     3)对ASP页面进行加密

为有效地防止ASP源代码泄露,可以对ASP页面进行加密。一般有两种方法进行加密:一种是使用组件技术将编程逻辑封装入DLL之中;另一种是使用微软的Script Encoder对ASP页面进行加密。使用组件技术存在的主要问题是每段代码均需组件化,操作比较烦琐,工作量较大;而使用Script Encoder对ASP页面进行加密,操作简单、收效良好。Script Encoder方法具有许多优点:

·HTML仍具有很好的可编辑性。

·操作简单。

·可以批量加密文件

·Script Encoder是免费软件。该加密软件可以从微软网站下载:http://msdn.microsoft.com/scripting/vbscript/download/x86/sce10en.exe。下载后,运行安装即可。

4)利用Session对象进行注册验证

为防止未经注册的用户绕过注册界面直接进入应用系统,可以采用Session对象进行注册验证。Session对象最大的优点是可以把某用户的信息保留下来,让后续的网页读取。比如:

设计要求用户注册成功后系统启动hrmis.asp?page=1页面。如果不采用Session对象进行注册验证,则用户在浏览器中敲入“URL/hrmis.asp?page=1”即可绕过注册界面,直接进入系统。利用Session对象可以有效阻止这一情况的发生。

第六章 结束语

ASP技术的发展促进了Web数据库功能的极大完善,这种交互式动态访问结构极大的方便了信息系统设计和操作。事实上,随着网络技术的发展,应用程序的开发已经进入了Web环境,并且这也是未来的发展方向,它必将取代传统的客户机—服务器环境。文中设计实现的设备管理系统就是一个很好的例子。

本系统虽然很实用,能有效的进行设备信息的管理,但也有不足之处。例如最后一章提到的ASP+Access的安全隐患,本系统在系统安全就存在着这样的问题有待解决。

 


查看评论 已有0位网友发表了看法
  • 验证码: