[ASP.NET] 限定提交文档种类的二种方式

2020-12-31 05:22 admin

[ASP.NET] 限定提交文档种类的二种方式


小视频,自媒体平台,达种族草一站服务

一般,以便避免因客户提交危害文档(如木马病毒、网络黑客程序)引起的安全性性的问题,Web程序都是对客户容许提交的文档种类多方面限定。而文中即将详细介绍的便是怎样在ASP.NET运用程序中运用Web Control的内嵌特性简易高效率地完成限定提交文档种类的作用。

在启用PostFile目标的SaveAs方式储存提交文档以前,能够根据PostFile目标的FileName特性获得提交的文档名。而拥有提交的文档名,便可以选用核对文档后缀名名的方式了解提交的文档是不是归属于容许提交的文档种类。

依据这一观念,大家就获得了下边这一段编码:

If Path.GetExtension(sFilePath) .zip Then

Label2.Text = 本运用程序只容许提交zip文件格式的文档,请再次挑选!

Return

这时候假如提交后缀名名并不是zip的文档,便会发觉文档没法提交了。但是,这并表明大家也不可以把提交别的文件格式的文档了。实际上,假如在提交前,事前把文档后缀名名改为zip,上边这一段编码就丧失功效了。

往往会出現这类状况,取决于上边的分辨只是核对了文档姓名符串,并沒有对文档文件格式做进一步的剖析。因而,假如要完全限定提交的文档种类,还必须采用PostFile目标的ContentType特性。ContentType特性的作用是获得顾客端推送的文档的 MIME (注一)內容种类,因为访问器在向网络服务器推送恳求前,最先会明确推送內容的MIME种类,并将MIME种类做为信息内容的一一部分递交到网络服务器端,因而,拥有MIME种类信息内容(注二),便可以准确了解提交文档的具体种类了。

If File1.PostedFile.ContentType application/zip Then

Label2.Text = 本运用程序只容许提交zip文件格式的文档,请再次挑选!

这时候,假如再选用改动后缀名名的方式提交文档便会发觉从此没法提交了。

注一:MIME是一种技术性标准,在其中文汉语翻译为要用途Inter电子邮件拓展(Multipurpose Inter Mail Extensions),关键用于在Inter传送全过程中表明不一样编号文件格式的文档;

注二:要获得不一样文档文件格式的MIME界定,要是起动申请注册表编写器,随后在HKEY_CLASSES_ROOT下寻找跟后缀名名相匹配的申请注册表项,假如存有文档文件格式的MIME界定,在右边对话框便会显示信息一个名叫 Content Type 的键,而这一键的值便是文档文件格式的MIME界定。

之上二种方式互用,提交文档大部分就被限定了。可是假如一些有心人假如变更申请注册表的 MIME 值的內容一样能够提交故意程序,假如那样得话,仅有结构加固程序和系统软件,不许其变更提交后文档的拓展名。或者选用自定的控制,选用更严实的检验对策