通知:本站部分产品已经可以在线直接下载,您可以在线充值下载即可,有问题到金币会员区提交即可,程序完整无错!不再受盗版之苦! 关闭
我们提供网站订制、修改服务,按您要求制作各类网站,价格低,速度快,用很少的钱轻松为您完成您的网站! 0539-2890890 54083049
本站首页新网空间快网商城成功案例正版认证购买指南升级下载网站套餐制作报价技术论坛
会员影音技术资讯订制进度服务流程一元源码十元源码百元源码8.0插件金币下载在线充值
  首 页 > 新闻列表 > 技术文摘 用户登陆 我要注册 忘记密码?  
新闻内容
上传文件时自动检测是否含有非法代码
【 来源:见解交流 】 【 发布时间:2008-09-09 】 【 字体:
在使用无惧上传V2.0的过程中,我发现它并不能识别是真图片,还是假图片(比如用一个ASP文件,改名为jpg,就能轻松上传成功),这可是一个很大的漏洞啊。

经过仔细研究,我找到了一个解决方法:先将文件上传,然后利用FSO,采用读取文本文件的方法,读出该文件的内容,如果含有事先定义的非法字符如cookie、session等,就可判断此文件为非图片文件,并自动删除此文件,从而达到禁止上传非法文件的目的。

  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左右。

添加时间:2008-09-09  浏览次数:1136

免责声明
您现在的位置:管理首页 >> 免责声明
① 快网科技版权所有,尊重劳动,支持正版,享受服务;
②个别文章资讯摘自网络,如有侵权,请联系我们删除;
③对于版权作者未联系我们声明的作品,视同作者许可快网刊登。
新闻分类
新闻搜索
  关键字:
主题 内容 
热门新闻
| 联系我们 | 公司简介 | 反盗声明 | 责任合约 | 品质保证 | 快网优势 | 管理团队 | 公司招聘 | 经营理念 | 荣誉资质 | 汇款方式
公司地址:山东·临沂·兰山 邮政编码:276000 Email:lyoy2008@163.com
联系电话:0539-2890890 13581084088 传真号码:0539-2890890
快网科技法律顾问: [山东君正义律师事务所] 王自道  [山东铭星律师事务所] 王纪营
版权所有.2007-2010.快网科技网络公司 中国信息产业部备案 鲁ICP备09104898号