偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP.NET限制上傳文件類型的兩種方法

開發(fā) 后端
本文向你介紹在ASP.NET應(yīng)用程序中利用Web Control的內(nèi)置屬性簡單高效地實現(xiàn)ASP.NET限制上傳文件類型的功能。

通常,為了防止因用戶上傳有害文件(如木馬、黑客程序)引發(fā)的安全性問題,Web程序都會對用戶允許ASP.NET上傳文件類型加以限制。而本文將要介紹的就是如何在ASP.NET應(yīng)用程序中利用Web Control的內(nèi)置屬性簡單高效地實現(xiàn)ASP.NET限制上傳文件類型的功能。

在調(diào)用PostFile對象的SaveAs方法保存上傳文件之前,可以通過PostFile對象的FileName屬性得到上傳的文件名。而有了上傳的文件名,就可以采用比對文件后綴名的方法知道上傳的文件是否屬于允許上傳的文件類型。

根據(jù)這個思想,我們就得到了下面這段代碼:

  1. If Path.GetExtension(sFilePath) <> ".zip" Then  
  2.  
  3.   Label2.Text = "本應(yīng)用程序只允許上傳zip格式的文件,請重新選擇!" 
  4.  
  5.   Return 

這時如果上傳后綴名不是zip的文件,就會發(fā)現(xiàn)文件無法上傳了。不過,這并表示我們就不能把上傳其他格式的文件了。其實,如果在上傳前,事先把文件后綴名改成zip,上面這段代碼就失去作用了。

之所以會出現(xiàn)這種情況,在于上面的判斷僅僅比對了文件名字符串,并沒有對文件格式做進一步的分析。因此,如果要徹底達到ASP.NET限制上傳文件類型,還需要用到PostFile對象的ContentType屬性。ContentType屬性的功能是獲取客戶端發(fā)送的文件的 MIME (注一)內(nèi)容類型,由于瀏覽器在向服務(wù)器發(fā)送請求前,首先會確定發(fā)送內(nèi)容的MIME類型,并將MIME類型作為信息的一部分提交到服務(wù)器端,因此,有了MIME類型信息(注二),就可以準確知道上傳文件的實際類型了。

If File1.PostedFile.ContentType <> "application/zip" Then

Label2.Text = "本應(yīng)用程序只允許上傳zip格式的文件,請重新選擇!"

這時,如果再采用修改后綴名的方法上傳文件就會發(fā)現(xiàn)再也無法上傳了。

注一:MIME是一種技術(shù)規(guī)范,其中文翻譯為多用途Internet郵件擴展(Multipurpose Internet Mail Extensions),主要用來在Internet傳輸過程中表示不同編碼格式的文件;

注二:要獲取不同文件格式的MIME定義,只要啟動注冊表編輯器,然后在HKEY_CLASSES_ROOT下找到跟后綴名對應(yīng)的注冊表項,如果存在文件格式的MIME定義,在右側(cè)窗口就會顯示一個名為“Content Type”的鍵,而這個鍵的值就是文件格式的MIME定義。

以上兩種方法混用,ASP.NET限制上傳文件類型就基本實現(xiàn)了。但是如果某些有心人如果更改注冊表的 MIME 值的內(nèi)容一樣可以上傳惡意程序,如果這樣的話,只有加固程序和系統(tǒng),不讓其更改上傳后文件的擴展名?;蚴遣捎米远x的控件,采用更嚴密的檢測措施。

 

【編輯推薦】

  1. ASP.NET AJAX的WCF服務(wù)
  2. ASP.NET MVC概述:優(yōu)點和特色一覽
  3. 配置ASP.NET步驟
  4. ASP.NET中的Session狀態(tài)
  5. ASP.NET環(huán)境下的Shell函數(shù)
責(zé)任編輯:佚名 來源: 站長網(wǎng)
相關(guān)推薦

2013-05-31 10:36:56

ASP.net文件上傳

2009-07-27 14:41:33

ASP.NET調(diào)用存儲

2009-07-21 16:23:57

2009-08-12 16:44:13

.NET文件類型

2009-10-30 14:03:59

ASP.NET上傳文件

2009-07-20 16:09:39

2009-07-20 17:07:30

提高ASP.NET性能

2009-07-21 15:38:31

2009-07-29 10:02:49

ASP.NET上傳

2009-07-30 13:43:58

ASP.NET中文件上

2009-07-24 15:07:56

ASP.NET上傳文件

2009-07-21 13:01:07

ASP.NET上傳文件

2009-07-27 17:32:39

Web ServiceASP.NET

2009-09-04 11:20:47

ASP.NET頁面間值

2021-02-05 08:03:52

Java

2009-07-28 13:26:34

Render方法ASP.NET

2024-08-19 01:00:00

讀取配置文件接口應(yīng)用程序

2024-03-15 11:35:11

配置文件應(yīng)用程序開發(fā)

2009-07-21 16:05:58

ASP.NET大文件上

2009-07-30 14:18:02

ASP.NET實例教程
點贊
收藏

51CTO技術(shù)棧公眾號