ASP.NET限制上传文件类型
来源:互联网 发布:cgi技术软件 编辑:程序博客网 时间:2024/04/29 18:41
文章转载自: 如何有效的限制上传文件类型 http://www.studyofnet.com/news/8.html
一、非常不安全的限制文件类型的方法,只能从表面上进行限制:
//限制文件后缀名:if(Path.GetExtension(sFilePath) != ".zip"){ Label2.Text = "本应用程序只允许上传zip格式的文件,请重新选择!"; Return;}
这时如果上传后缀名不是zip的文件,就会发现文件无法上传了。不过,这并表示我们就不能把上传其他格式的文件了。其实,如果在上传前,事先把文件后缀名改成zip,上面这段代码就失去作用了。这时如果上传后缀名不是zip的文件,就会发现文件无法上传了。不过,这并表示我们就不能把上传其他格式的文件了。其实,如果在上传前,事先把文件后缀名改成zip,上面这段代码就失去作用了。
二、判断客户端发送的文件的 MIME (注一)内容类型,来进行限制,不过这个MIME也是可以修改的,而且每个浏览器对于不同的文件的MIME或许有差异,不好控制:
//通过文章的MIME信息进行限制:if(File1.PostedFile.ContentType != "application/zip"){ Label2.Text = "本应用程序只允许上传zip格式的文件,请重新选择!"; return;}
三、根据文件类型的编码来进行限制,能很好的对上传的文件类型进行限制,个人推荐使用这种方式:
//例如:限制图片类型,其中:jpg,jpeg,gif,bmp,png//分别的类型编码为: 255216,7173,6677,13780//byte[] file: 上传的文件集合//byte[] strExtensionValue: 限制的文件类型编码集public static bool IsAllowedUpfileType(byte[] fileList,string strValue){ bool bReturn = false; string fileclass = ""; byte buffer; try { buffer = file[0]; fileclass = buffer.ToString(); buffer = file[1]; fileclass += buffer.ToString(); } catch { } string[] allowedExtensions = strExtensionValue.Split(','); for (int i = 0; i < allowedExtensions.Length; i++) { if (fileclass == allowedExtensions[i]) { bReturn = true; break; } } return bReturn;}//调用:byte[] file = new Byte[FileData.ContentLength];Stream fsRead = FileData.InputStream;fsRead.Read(file, 0, FileData.ContentLength);bool bIsAllowed= IsAllowedUpfileType(file, "255216,7173,6677,13780");fsRead.Flush();fsRead.Close();
- ASP.NET限制上传文件类型
- [ASP.NET] 限制上传文件类型的两种方法
- asp.net上传控件--文件类型控制
- struts2上传文件类型限制
- struts2上传文件类型限制
- struts2上传文件类型限制
- Struts2上传文件类型限制
- struts2上传文件类型限制
- struts2上传文件类型限制
- Js_限制上传文件类型
- 上传文件(限制文件类型)
- 原创:samba限制上传文件类型
- jquery fileupload限制上传文件类型
- 限制input上传的文件类型
- asp.net(c#)上传文件时检测文件类型方法小结
- asp.net(c#)上传文件时检测文件类型方法小结
- asp.net 选择上传文件时过滤文件类型
- asp.net(c#)上传文件时检测文件类型方法小结
- Lucene博客分享
- 矩阵 转
- 借助PL/SQL将服务器上的oracle10数据库转移到另一台服务器上的方法
- git迁移
- TComPicYuv::create
- ASP.NET限制上传文件类型
- 比以前更帅气了的飞鸽传书
- 【js学习笔记-056】私有状态
- linux就是这个范儿之融于心而表于行(5)
- struts2漏洞原理及解决办法
- spring、spring mvc 3.2 最全入门进阶Demo
- How to Tell if the I/O of the Database is Slow - 1
- linux的各种命令汇总
- 第一章 第1节 Java的安装