分享
 
 
 

用ASP/ASP.NET实现网络空间管理

王朝asp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

前言

⑴ 电子阅览室、计算机房、网吧等公共上机场所由于使用频繁、维护滞后等原因,输出系统如软驱等设备受损的现象普遍,往往在你需要将加工后的数据输出时才发现输出设备不能工作而大为光火,并且许多计算机房为了节省成本,在联网的计算机上并不配全必要的输出设备。

⑵ 电脑普及的同时使的人们对它的依赖越来越强,很多办公事务已经离不开电脑。换句话说,办公人员的电脑里开始存放着许多重要的办公与私人数据。而这些数据,在大多数情况下是唯一的,意即它们的拥有者并没有把它们做一份副本存放在不同的电脑上,其安全性完全取决于它们的拥有者的电脑的稳定性。

⑶ Internet的普及拉近了人们之间的距离,让人们交流变得更为便捷,但是我们每天需要在家庭、办公室、网吧等不同场所上网,怎样才能持续对某份文档进行编辑处理呢?或许通过优盘或者是移动硬盘之类的移动存储设备能够随身携带这些资料,不过随身多带一个这样的设备特别是移动硬盘总归不是很方便,而且不同的场所、不同的设备、不同的操作系统对优盘或移动硬盘的支持不尽相同,使用者的电脑水平也不尽相同。

……

由于这些事实,使的网络存储作为一种需要登上了舞台。

目前实现网络存储的方式有很多种,比如电子邮件、FTP、网上邻居、HTTP等等。其中,FTP功能最为强大,但使用起来却稍显复杂,一大堆设置足以让许多人望而止步,尤其用户数量不可预见时,针对特殊需求用户的设置将更加繁琐;电子邮件是大家所熟悉的了,但在局域网内部,财务、劳资等文件资料需通过这种方式交流不是好办法,而且,当你的文件足够大时对邮件空间是个致命冲击;网上邻居通过在本机上指定共享的Web文件夹并放置文件,一定范围内的用户可以访问到这些文件,然而这种方式使用的范围相当有限,通常在同一个DNS段地址内的用户才能顺利访问,其它尤其是Internet上的用户,很难使用,此外同电子邮件类似,它的使用也不直观,很多时候你不得不在许多列表计算机上一层层展开搜索才有可能获取你想要的资源! 以上所述这些网络存储方式还有一个共同的缺点:即管理员对存储在网络存储中的文件的使用情况无法有一个比较清晰的了解,只能根据文件的存储时间来决定是否对其进行空间清理。

本文介绍一种通过HTTP实现的比较简单的网络存储方式。这种方式是在WINDOWS平台上通过IIS与ASP/ASP.NET来实现,不仅使用简单、可上载任意类型的文件,而且可以对使用者使用空间进行限制,一次传输小到20字节、大到几百兆都可以由管理者进行管理,另外,文件的安全性也得到了保障,只有文件拥有者及得到授权者才可回载文件。读懂本文第二大点中的数据结构及第三大点中的上传源码,将帮助你自己做一个网络存储,你就不必依赖于市场上提供的免费网络存储,使网络内部的敏感数据文件的安全牢牢掌握在自己手中。

概述与基本功能

安装一台作为网络存储宿主的服务器,操作系统采用windows平台,配套IIS5.0,设置好WEB服务,在主网站下建立一个虚拟网站,指向网络存储,如:d:\netspace\spacenet\myspace。所有的asp及asp.net源码放置在主网站(如:c:\inetpub\wwwroot)下,d:\netspace\spacenet\myspace下将放置用户上传的文件(虚拟网站改变,在源码中也应作相应调整)。

1、用到的基本数据库及结构:

⑴ ftpsapce.mdb: 拥有表userlist, 表基本结构:

Id:顺序号,自动生成;

Xh:用户帐号,注册及验证生成;

Xm:用户姓名,注册及验证生成;

Kl:用户口令,注册及验证生成;

Maxspace:用户空间最高限额,注册取默认值,管理员可以通过管理重设定;

Nowspace:用户目前占用空间的数量;

Lastaccessday:用户最近一次存取时间,供管理员管理空间时参考;

Fromday:用户注册时间;

Checkx:用户验证已否标志。

⑵ Filelist.mdb:拥有表files,表基本结构:

Id:顺序号,自动生成;

Filename:文件名,上载系统判断生成;

Fsize:文件大小数值;

Xh:用户帐号;

Upday:上载时间;

Filescript:文件描述,是用户上载时的文件的路径及原文件名,供用户加载时参考;

2、基本功能

⑴ 用户登录主网站,进入网站主页面,给出用户基本资料进行用户注册。

⑵ 管理员根据用户注册资料予以审核,设定用户最大使用空间。

⑶ 审核通过的用户上传文件到网络存储。系统判定用户合法性及文件合法性,在数据库中对用户上传的文件及用户资料进行登记。

⑷ 审核过的用户通过下载功能对自己上传的文件进行回载或删除。

⑸ 管理员根据用户数据库及文件数据库对网络空间进行管理。

⑹ 扩展过的系统允许得到授权的用户对授权用户的上传文件进行下载。

上载模块基本源码

限于篇幅,本文仅给出上载模块的基本源码,需要更多源码可通过E-mail向作者索取,源码中以***开头的行是作者为了读者阅读方便而加上的注释。(以下摘自 upfile.aspx)

<%@ Page Language="VB" Debug="true" %>

<%@ import namespace="System.Data" %>

<%@ import namespace="System.Data.oledb" %>

<html>

<script language="vbscript" runat="server">

sub uploadfile(sender as object, e as eventargs)

if fileup.postedfile.contentlength<20 then

errors.text="这么小的文件也要上传,背背就可以了."

fileinfo.visible=false

exit sub

else

errors.text="检验正常"

fileinfo.visible=true

end if

*** 以上检查上传文件大小

respace.text="0"

nowspace.text="0"

*** respace指剩余空间,nowspace指已用空间

dim xh1 as string =user1.value

dim kl1 as string =pass1.value

*** xh1指帐号,kl1指口令

dim objconnstr as string="provider=microsoft.jet.oledb.4.0;data source="

& server.mappath("ftpspace.mdb")

*** 以上两行在源码中应为同一语句

dim objconn as oledbconnection = new oledbconnection(objconnstr)

dim sql1 as string="select * from userlist where xh='"+xh1+"' and kl='"+kl1+"'"

dim objrscc as oledbcommand= new oledbcommand(sql1,objconn)

objconn.open()

dim objrs as oledbdatareader = objrscc.executereader()

dim ix as integer=0

dim maxs as long

dim nows as long

while ix=0

if objrs.read() then

if objrs.item("xh")=xh1 then

if objrs.item("kl")=kl1 then

if objrs.item("checkx")=1 then

ix=ix+1

maxs=objrs.item("maxspace")

nows=objrs.item("nowspace")

end if

end if

end if

else

ix=-1

end if

end while

*** 以上判定帐号与口令是否合法

if ix<=0 then

errors.text="帐号口令错!或用户尚未通过认证,请等待管理员认证!"

else

if fileup.postedfile.contentlength>maxs-nows then

if fileup.postedfile.contentlength>=maxs then

errors.text="文件长度大于赋予空间大小,不能上传!"

else

errors.text="可用空间不足,请删除旧文件!"

end if

*** 以上判定用户空间的可用性

else

dim obj4str as string="provider=microsoft.jet.oledb.4.0;

data source=" & server.mappath("filelist.mdb")

*** 以上两行在源码中为同一语句

dim obj4 as oledbconnection = new oledbconnection(obj4str)

dim sql10 as string="select * from files"

dim objrc1 as oledbcommand= new oledbcommand(sql10,obj4)

obj4.open()

dim objrsx as oledbdatareader = objrc1.executereader()

dim fn11 as long =0

while objrsx.read()

fn11=objrsx("filename")

end while

dim fn1 as string

fn1=cstr(fn11+1)

*** 以上为用户上传文件起一个唯一的主文件名

dim objc1str as string="provider=microsoft.jet.oledb.4.0;

data source=" & server.mappath("filelist.mdb")

*** 以上两行在源码中为同一语句

dim objc1 as oledbconnection = new oledbconnection(objc1str)

dim sql3 as string="insert into files(filename,fsize, xh,filescript,upday)

values("+cstr(fn1)+","+cstr(fileup.postedfile.contentlength)+",'"

+xh1+"','"+fileup.postedfile.filename+"','"+cstr(now())+"')"

*** 以上三行在源码中为同一语句

objc1.open()

dim objrs1 as oledbcommand=new oledbcommand(sql3,objc1)

dim fn2 as string

fn2="d:/netspace/spacenet/myspace/"&cstr(fn1)&".zip"

*** 给出用户上传文件的绝对路径及完整文件名

fsize.text=cstr(fileup.postedfile.contentlength)

ftype.text=fileup.postedfile.contenttype

fname.text=fileup.postedfile.filename

username.text=user1.value

fileup.postedfile.saveas(fn2)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有