|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。fso|硬盘
<%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%>
<%
dimst
st=timer()
*************************************************************
*************搜刮硬盘文件的类SearchFile*************
*************挪用办法:*************
*************Setnewsearch=newSearchFile声明*************
*************newsearch.Folder="F:+E:"传进搜刮源*************
*************newsearch.keyword="汇编"关头词*************
*************newsearch.Search入手下手搜刮*************
*************Setnewsearch=Nothing停止*************
*************************************************************
ClassSearchFile
dimFolders传进相对路径,多路径利用+号毗连,不克不及有空格
dimkeyword传进关头词
dimobjFso界说全局变量
dimCounter界说全局变量,搜刮了局的数量
*****************初始化**************************************
PrivateSubClass_Initialize
SetobjFso=Server.CreateObject("Scripting.FileSystemObject")
Counter=0初始化计数器
EndSub
************************************************************
PrivateSubClass_Terminate
SetobjFso=Nothing
EndSub
**************私有成员,挪用的办法***************************
FunctionSearch
Folders=split(Folders,"+")转化为数组
keyword=trim(keyword)往失落前后空格
ifkeyword=""then
Response.Write("<fontcolor=red>关头字不克不及为空</font><br/>")
exitFunction
endif
判别是不是包括不法字符
flag=instr(keyword,"")orinstr(keyword,"/")
flag=flagorinstr(keyword,":")
flag=flagorinstr(keyword,"|")
flag=flagorinstr(keyword,"&")
ifflagthen关头字中不克不及包括/:|&
Response.Write("<fontcolor=red>关头字不克不及包括/:|&</font><br/>")
ExitFunction假如包括有这个则加入
endif
多路径搜刮
dimi
fori=0toubound(Folders)
CallGetAllFile(Folders(i))挪用轮回递回函数
next
Response.Write("共搜刮到<fontcolor=red>"&Counter&"</font>个了局")
EndFunction
***************历遍文件和文件夹******************************
PrivateFunctionGetAllFile(Folder)
dimobjFd,objFs,objFf
SetobjFd=objFso.GetFolder(Folder)
SetobjFs=objFd.SubFolders
SetobjFf=objFd.Files
历遍子文件夹
dimstrFdName声明子文件夹名
*********历遍子文件夹******
onerrorresumenext
ForEachOneDirInobjFs
strFdName=OneDir.Name
体系文件夹不在历遍之列
IfstrFdName"Config.Msi"EQVstrFdName"RECYCLED"EQVstrFdName"RECYCLER"EQVstrFdName"SystemVolumeInformation"Then
SFN=Folder&""&strFdName相对路径
CallGetAllFile(SFN)挪用递回
EndIf
Next
dimstrFlName
**********历遍文件********
ForEachOneFileInobjFf
strFlName=OneFile.Name
desktop.ini和folder.htt不在列取局限
IfstrFlName"desktop.ini"EQVstrFlName"folder.htt"Then
FN=Folder&""&strFlName
Counter=Counter+ColorOn(FN)
EndIf
Next
***************************
封闭各工具实例
SetobjFd=Nothing
SetobjFs=Nothing
SetobjFf=Nothing
EndFunction
*********************天生婚配形式***********************************
PrivateFunctionCreatePattern(keyword)
CreatePattern=keyword
CreatePattern=Replace(CreatePattern,".",".")
CreatePattern=Replace(CreatePattern,"+","+")
CreatePattern=Replace(CreatePattern,"(","(")
CreatePattern=Replace(CreatePattern,")",")")
CreatePattern=Replace(CreatePattern,"[","[")
CreatePattern=Replace(CreatePattern,"]","]")
CreatePattern=Replace(CreatePattern,"{","{")
CreatePattern=Replace(CreatePattern,"}","}")
CreatePattern=Replace(CreatePattern,"*","[^/]*")*号婚配
CreatePattern=Replace(CreatePattern,"?","[^/]{1}")?号婚配
CreatePattern="("&CreatePattern&")+"全体婚配
EndFunction
**************************搜刮并使关头字上色*************************
PrivateFunctionColorOn(FileName)
dimobjReg
SetobjReg=newRegExp
objReg.Pattern=CreatePattern(keyword)
objReg.IgnoreCase=True
objReg.Global=True
retVal=objReg.Test(FileName)举行搜刮测试,假如经由过程则上色并输入
ifretValthen
OutPut=objReg.Replace(FileName,"<fontcolor=#FF0000>$1</font>")设置关头字的显现色彩
***************************该部分能够依据必要修正输入************************************
OutPut="<ahref=#>"&OutPut&"</a><br/>"
Response.Write(OutPut)输入婚配的了局
*************************************可修正部分停止**************************************
ColorOn=1到场计数器的数量
else
ColorOn=0
endif
SetobjReg=Nothing
EndFunction
EndClass
************************停止类SearchFile**********************
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>www.csdn.com.cn</title>
</head>
<body>
<formname="form1"method="post"action="<%=Request.ServerVariables("PATH_INFO")%>">
关头词:
<inputname="keyword"type="text"id="keyword">
<inputtype="submit"name="Submit"value="搜刮">
<ahref="help.htm"target="_blank">初级搜刮匡助</a>
</form>
<%
dimkeyword
keyword=Request.Form("keyword")
ifkeyword""then
Setnewsearch=newSearchFile
newsearch.Folders="E:Media+F:"
newsearch.keyword=keyword
newsearch.Search
Setnewsearch=Nothing
response.Write("<br/>费时:"&(timer()-st)*1000&"毫秒")
endif
%>
</body>
</html>
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|