设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> ASP技术 >> ASP技巧 >> 正文
最新信息
·ASP防止采集的代码
·文字防复制乱码
·关于ASP中的UTF8编码
·ASP精典之常用函数收集
·用正则式除去HTML标记
·ASP国际化多语言详细方案
·改进 ASP 的字符串处理性能
·ASP缓存技术
·巧用ASP技术保护DHTML源代…
·ASP读取系统时区的错误行为…
资料搜索
热点信息
·删除数组中的重复元素
·ASP中转换unicode码为GB码…
·asp得到当前页地址
·关于ASP中的UTF8编码
·判断上一页的来源
·Asp中有关字符编码转换的几…
·用正则式除去HTML标记
·ASP 三十二条精华代码
·动检测上传文件是否含有非…
·常用过滤函数
推荐信息
·ASP 三十二条精华代码
·ASP中转换unicode码为GB码…
·如何拒绝同一张表单被多次…
·常用过滤函数
·常用asp代码
·Asp中有关字符编码转换的几…
·获得上一个月几月
·计算文件下载时间
·三条语句搞定路径
·判断上一页的来源


Google
 
动检测上传文件是否含有非法代码
〖来源:飞腾设计网 | 作者:雨城 | 编辑:Cloudy | 浏览:人次〗

    在使用无惧上传V2.0的过程中,我发现它并不能识别是真图片,还是假图片(比如用一个ASP文件,改名为jpg,就能轻松上传成功),这可是一个很大的漏洞啊。
    经过仔细研究,我找到了一个解决方法:先将文件上传,然后利用FSO,采用读取文本文件的方法,读出该文件的内容,如果含有事先定义的非法字符如cookie、session等,就可判断此文件为非图片文件,并自动删除此文件,从而达到禁止上传非法文件的目的。

    源代码如下,加在upfile.asp中的case else中——

Dim objFSO,objTS,strText,ComStr,i
    filebb=updir&upfile.file("img").filename '文件路径
    Set objFSO=Server.CreateObject("Scripting.FileSystemObject")
    If objFSO.FileExists(Server.MapPath(filebb)) Then
     Set objTS=objFSO.OpenTextFile(Server.MapPath(filebb),1) '以文本文件方式读取文件
     strText=lcase(objTS.ReadAll) '全文读取,并转换为小写
     objTS.Close
     ComStr="cookie|.getfolder|.createfolder|.deletefolder|.createdirectory|.deletedirectory"
     ComStr=ComStr&"|.saveas|wscript.shell|script.encode|folderfath|session" '禁止字符
     strArray=split(ComStr,"|")
     for i=0 to ubound(strArray)
    if instr(strText,strArray(i))<>0 then
     objFSO.DeleteFile Server.MapPath(filebb),True '删除文件
     response.write"非法文件,禁止上传  [<a href='upload.asp'>重新上传</a>]"
     response.end
    end if
     next
     Set objFSO=nothing
    else
     response.write"该文件不存在"
    end if
    呵呵,使用此方法,果然解决了大问题。但要注意的是上传的文件不能过大,如果过大的话,可想而知,对系统资源的浪费是惊人的,建议设置上传文件大小为300K左右。


录入时间:2006-12-25 00:16:20 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号