一个上传文件的分析笔记

2010, April 10, 5:53 PM. 原创笔记
Submitted by admin

一个上传文件,源码如下:

<%if session("user")="" then
Response.Redirect "index.asp"
response.end
end if%>
<!--#include FILE="upload.inc"-->
<%
Server.ScriptTimeOut=5000
dim upload,file,formName,formPath,iCount,filename,fileExt
set upload=new upload_5xSoft ''建立上传对象
formPath="../fileup/"
 ''在目录后加(/)
if right(formPath,1)<>"/" then formPath=formPath&"/"
iCount=0
for each formName in upload.file ''列出所有上传了的文件
 set file=upload.file(formName)  ''生成一个文件对象
 if file.filesize<50 then
  response.write "<font size=2>请先选择你要上传的文件(>50bit) [ <a href=# onclick=history.go(-1)>重新上传</a> ]</font>"
 response.end
 end if
  
 if file.filesize>(10000*1024) then
  response.write "<font size=2>图片大小超过了限制 [ <a href=# onclick=history.go(-1)>重新上传</a> ]</font>"
 response.end
 end if

 fileExt=lcase(right(file.filename,4))
 oldfilename=file.filename
 if fileEXT=".asp" or fileEXT=".asa" or fileEXT=".aspx" or fileEXT=".php" or fileEXT=".cer" or fileEXT=".asa" or fileEXT=".cdx" or fileEXT=".htr" then
  response.write "<font size=2>文件格式不对 [ <a href=# onclick=history.go(-1)>重新上传</a> ]</font>"
 response.end
 end if
 randomize
 ranNum=int(90000*rnd)+10000
 filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&fileExt
 filename1=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&fileExt
 
 if file.FileSize>0 then         ''如果 FileSize > 0 说明有文件数据
 file.SaveAs Server.mappath(filename)   ''保存文件
  iCount=iCount+1
 end if
 set file=nothing
next
set upload=nothing  ''删除此对象


 response.write "<font color='#0000ff'>"
' response.write "<a href=""javascript:onclick=parent.put_ubb('news_content','"&"<a href=/fileup/"&FileName1&">"&FileName1&"</a>') </A>"

 response.Write "文件上传成功 "
   response.write "&nbsp;<a href=""javascript:onclick=parent.put_ubb('news_content','"&"&nbsp;<a href=/fileup/"&FileName1&">"&oldfilename&"</a>&nbsp;');"">点击插入"&oldfilename&"</A>&nbsp;"
   response.write " <a href=""javascript:history.back();"">返回</a>"
 response.Write "</font>"
 response.end
%>
</body>
</html>

 

这个文件是有session验证的。

其中扩展名只过滤了asp,asa,aspx,php,cer,cdx,htr这么几种,idc,stm,aspl都没有在过滤中,可以上传这几种试试。。。

Tags: 上传

« 上一篇 | 下一篇 »

只显示10条记录相关文章
Trackbacks
点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5
发表评论

评论内容 (必填):