服务器当前目录文件系统信息窥探程序ASP

来源:百度文库 编辑:神马文学网 时间:2024/04/28 09:51:01
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
‘ FileSystemObject 示例代码
‘Copyright 2007  独孤翼 QQ:88056598   保留所有权利。
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
Option Explicit
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
‘ 对于代码质量:
‘ 1) 下面的代码有许多字符串操作,用"&"运算符来把短字符串连接在一起。由于
‘    字符串连接是费时的,所以这是一种低效率的写代码方法。无论如何,它是
‘    一种非常好维护的写代码方法,并且在这儿使用了这种方法,因为该程序执行
‘    大量的磁盘操作,而磁盘操作比连接字符串所需的内存操作要慢得多。
‘    记住这是示范代码,而不是产品代码。

‘ 2) 使用了 "Option Explicit",因为访问声明过的变量,比访问未声明的变量要
‘    稍微快一些。它还能阻止在代码中发生错误,例如,把 DriveTypeCDROM 误拼
‘    成了 DriveTypeCDORM 。

‘ 3) 为了使代码更可读,该代码中没有错误处理。虽然采取了防范措施,来保证代码
‘    在普通情况下没有错误,但文件系统是不可预知的。在产品代码中,使用
‘    On Error Resume Next 和 Err 对象来捕获可能发生的错误。
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
Dim TabStop
Dim NewLine
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
‘ 由 File.Attributes 返回的常数
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
Const FileAttrNormal  = 0
Const FileAttrReadOnly = 1
Const FileAttrHidden = 2
Const FileAttrSystem = 4
Const FileAttrVolume = 8
Const FileAttrDirectory = 16
Const FileAttrArchive = 32
Const FileAttrAlias = 64
Const FileAttrCompressed = 128
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
‘ 用来打开文件的常数
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
Const OpenFileForReading = 1
Const OpenFileForWriting = 2
Const OpenFileForAppending = 8
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
‘ ShowFileAttr
‘ 目的:
‘ 生成一个字符串,来描述文件或文件夹的属性。
‘ 示范下面的内容
‘ - File.Attributes
‘ - Folder.Attributes
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
Function ShowFileAttr(File) ‘ File 可以是文件或文件夹
Dim S
Dim Attr
Attr = File.Attributes
If Attr = 0 Then
ShowFileAttr = "Normal"
Exit Function
End If
If Attr And FileAttrDirectory  Then S = S & "Directory "
If Attr And FileAttrReadOnly   Then S = S & "Read-Only "
If Attr And FileAttrHidden     Then S = S & "Hidden "
If Attr And FileAttrSystem     Then S = S & "System "
If Attr And FileAttrVolume     Then S = S & "Volume "
If Attr And FileAttrArchive    Then S = S & "Archive "
If Attr And FileAttrAlias      Then S = S & "Alias "
If Attr And FileAttrCompressed Then S = S & "Compressed "
ShowFileAttr = S
End Function
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
‘ GenerateFileInformation
‘ 目的:
‘ 生成一个字符串,来描述文件的当前状态。
‘ 示范下面的内容
‘  - File.Path
‘  - File.Name
‘  - File.Type
‘  - File.DateCreated
‘  - File.DateLastAccessed
‘  - File.DateLastModified
‘  - File.Size
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
Function GenerateFileInformation(File)
Dim S
S = NewLine & "Path:" & TabStop & File.Path
S = S & NewLine & "Name:" & TabStop & File.Name
S = S & NewLine & "Type:" & TabStop & File.Type
S = S & NewLine & "Attribs:" & TabStop & ShowFileAttr(File)
S = S & NewLine & "Created:" & TabStop & File.DateCreated
S = S & NewLine & "Accessed:" & TabStop & File.DateLastAccessed
S = S & NewLine & "Modified:" & TabStop & File.DateLastModified
S = S & NewLine & "Size" & TabStop & File.Size & NewLine
GenerateFileInformation = S
End Function
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
‘ GenerateFolderInformation
‘ 目的:
‘ 生成一个字符串,来描述文件夹的当前状态。
‘ 示范下面的内容
‘  - Folder.Path
‘  - Folder.Name
‘  - Folder.DateCreated
‘  - Folder.DateLastAccessed
‘  - Folder.DateLastModified
‘  - Folder.Size
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
Function GenerateFolderInformation(Folder)
Dim S
S = "Path:" & TabStop & Folder.Path
S = S & NewLine & "Name:" & TabStop & Folder.Name
S = S & NewLine & "Attribs:" & TabStop & ShowFileAttr(Folder)
S = S & NewLine & "Created:" & TabStop & Folder.DateCreated
S = S & NewLine & "Accessed:" & TabStop & Folder.DateLastAccessed
S = S & NewLine & "Modified:" & TabStop & Folder.DateLastModified
S = S & NewLine & "Size:" & TabStop & Folder.Size & NewLine
GenerateFolderInformation = S
End Function
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
‘ GenerateAllFolderInformation
‘ 目的:
‘ 生成一个字符串,来描述一个文件夹和所有文件及子文件夹的当前状态。
‘ 示范下面的内容
‘  - Folder.Path
‘  - Folder.SubFolders
‘  - Folders.Count
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
Function GenerateAllFolderInformation(Folder)
Dim S
Dim SubFolders
Dim SubFolder
Dim Files
Dim File
S = "Folder:" & TabStop & Folder.Path & NewLine & NewLine
Set Files = Folder.Files
If 1 = Files.Count Then
S = S & "There is 1 file" & NewLine
Else
S = S & "There are " & Files.Count & " files" & NewLine
End If
If Files.Count <> 0 Then
For Each File In Files
S = S & GenerateFileInformation(File)
Next
End If
Set SubFolders = Folder.SubFolders
If 1 = SubFolders.Count Then
S = S & NewLine & "There is 1 sub folder" & NewLine & NewLine
Else
S = S & NewLine & "There are " & SubFolders.Count & " sub folders" & NewLine & NewLine
End If
If SubFolders.Count <> 0 Then
For Each SubFolder In SubFolders
S = S & GenerateFolderInformation(SubFolder)
Next
S = S & NewLine
For Each SubFolder In SubFolders
S = S & GenerateAllFolderInformation(SubFolder)
Next
End If
GenerateAllFolderInformation = S
End Function
Sub Main
‘ 设立全局变量。
TabStop = " "‘Chr(9)
NewLine = "
"‘Chr(10)
Dim objFolder
Dim objFSO
‘ 建立FSO和文件夹对象
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("."))  ‘获取当前目录路径
Response.Write GenerateFolderInformation(objFolder)&"
"
Response.Write GenerateAllFolderInformation(objFolder)
End Sub
%>




文件系统信息表


<%
Main
%>

服务器当前目录文件系统信息窥探程序ASP Web服务器上防范基于ASP程序的木马 Web服务器上防范基于ASP程序的木马 Liunx文件系统目录介绍 服务器文件信息偷窥下载程序 示例代码 服务器文件信息偷窥下载程序 示例代码 ASP和Access结合实现编写目录树的程序实例(精) 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstp.log 了解更多信息 ASP万用分页程序 ping的高级用法 - powered by 中国服务器论坛联盟 win服务器,代理服务器,邮件服务器,代码,程序,游戏下载,软件,电脑技术,设计,图片,信息发布 高手都是这 - powered by 中国服务器论坛联盟 win服务器,代理服务器,邮件服务器,代码,程序,游戏下载,软件,电脑技术,设计,图片,信息发布 高手都是这样清除系统LJ的 - powered by 中国服务器论坛联盟 win服务器,代理服务器,邮件服务器,代码,程序,游戏下载,软件,电脑技术,设计,图片,信息发布 什么是绿色软件,如何制作绿色软件 - powered by 中国服务器论坛联盟 win服务器,代理服务器,邮件服务器,代码,程序,游戏下载,软件,电脑技术,设计,图片,信息发布 获取当前工作目录 获取当前工作目录 ASP连接SQL服务器代码 获取服务器信息 ASP.NET:目录的遍历 一个Bug 差点让服务器的文件系统崩溃 政府信息公开目录 讲台信息目录 部门上传信息目录 ASP.NET 服务器控件的验证 学电脑:给窗口换上漂亮的新装 - powered by 中国服务器论坛联盟 win服务器,代理服务器,邮件服务器,代码,程序,游戏下载,软件,电脑技术,设计,图片,信息发布