无组件上传文件-判断文件类型?

作者:vkvi 来源:千一网络(原创) 日期:2009-10-11

有人认为,客户端明明是个 ASP 文件或 EXE 文件,却把扩展名改为 .jpg 来上传,这是不安全的。

于是不通过判断文件扩展名来进行判断,我见过的方法有很多。一是判断通过解析二进制文件,判断文件头是否是图片标志;二是保存文件,然后用判断其中是否有 getfolder、createfolder 这些词。

这两种方法都不准。对于法一,如果图片文件头的确是图片,可是后面图片数据后面隐藏 exe 文件数据,还不是照样把 exe 上传了。对于法二,如果程序中使用的是 eval("fso.get" & "folder()"),便绕开了判断。

所以避免受到上传文件的威胁,最重要的还是保障上传的文件不能被直接或间接执行,比如我们禁止上传 asp 文件,允许上传 txt 文件,即使 txt 文件是 asp 代码,但 IIS 默认不会对 .txt 扩展名的文件启用 ASP 解析引擎,所以也就得不到执行。

你前面那位网友看了:Mozilla UI 设计师:火狐界面设计上需更多帮助

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
  • 1 楼:评论的
    放屁一样!
赞助商们
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他