欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

http圖片上傳安全性問題 根據(jù)ContentType (MIME) 判斷其實(shí)不準(zhǔn)確、不安全

 更新時(shí)間:2015年09月24日 11:32:38   作者:小 鵬  
圖片上傳常用的類型判斷方法有這么幾種---截取擴(kuò)展名、獲取文件ContentType (MIME) 、讀取byte來判斷(這個(gè)什么叫法來著?)。下面由腳本之家小編跟大家分享圖片上傳安全性問題,感興趣的朋友一起看看吧

圖片上傳常用的類型判斷方法有這么幾種---截取擴(kuò)展名、獲取文件ContentType (MIME) 、讀取byte來判斷(這個(gè)什么叫法來著?)。前兩種都有安全問題。容易被上傳不安全的文件,如木馬什么的。第1種截取文件擴(kuò)展名來判斷的方法很明顯不安 全,第2種ContentType MIME可以偽造,所以用ContentType來判斷其實(shí)也不安全。建議采用第3種。

C#演示:

1.截取擴(kuò)展名來做判斷,不可取。

if (Request.Files.Count > 0)
{
  //這里只測試上傳第一張圖片file[0]
  HttpPostedFile file0 = Request.Files[0];
  string ext = file0.FileName.Substring(file0.FileName.LastIndexOf('.') + 1);//文件擴(kuò)展名string[] fileTypeStr = { "jpg", "gif", "bmp", "png" };
  if (fileTypeStr.Contains(ext))
  {
    file0.SaveAs(Server.MapPath("~/" + file0.FileName));//保存文件  }
  else
  {
    Response.Write("圖片格式不正確" + ext);
  }
}

2.判斷ContentType (MIME) ,比第1種方案安全。但其實(shí)ContentType是可偽造的,所以也不夠安全。

if (Request.Files.Count > 0)
{
//這里只測試上傳第一張圖片file[0]
  HttpPostedFile file0 = Request.Files[0];
  string contentType = file0.ContentType;//文件類型string[] fileTypeStr = { "image/gif","image/x-png","image/pjpeg","image/jpeg","image/bmp"};
  if (fileTypeStr.Contains(contentType))
  {
    file0.SaveAs(Server.MapPath("~/" + file0.FileName));
  }
  else
  {
    Response.Write("圖片格式不正確" + contentType);
  }
}

3.通過byte獲取文件類型,來做判斷。

if (Request.Files.Count > 0)
{
//這里只測試上傳第一張圖片file[0]
  HttpPostedFile file0 = Request.Files[0];
  //轉(zhuǎn)換成byte,讀取圖片MIME類型  Stream stream;
  //int contentLength = file0.ContentLength; //文件長度byte[] fileByte = newbyte[2];//contentLength,這里我們只讀取文件長度的前兩位用于判斷就好了,這樣速度比較快,剩下的也用不到。
  stream = file0.InputStream;
  stream.Read(fileByte, 0, 2);//contentLength,還是取前兩位  stream.Close();
  string fileFlag = "";
  if (fileByte != null && fileByte.Length > 0)//圖片數(shù)據(jù)是否為空  {
    fileFlag = fileByte[0].ToString() + fileByte[1].ToString();         
  }
  string[] fileTypeStr = { "255216", "7173", "6677", "13780" };//對應(yīng)的圖片格式j(luò)pg,gif,bmp,pngif (fileTypeStr.Contains(fileFlag))
  {
    file0.SaveAs(Server.MapPath("~/" + file0.FileName));
  }
  else
  {
    Response.Write("圖片格式不正確:" + fileFlag);
  }
}

以上內(nèi)容就是本文給大家敘述的http圖片上傳安全性問題 根據(jù)ContentType (MIME) 判斷其實(shí)不準(zhǔn)確、不安全,希望大家喜歡。

相關(guān)文章

  • C# 延遲Task.Delay()和Thread.Sleep()的具體使用

    C# 延遲Task.Delay()和Thread.Sleep()的具體使用

    Thread.Sleep()是同步延遲,Task.Delay()是異步延遲,本文主要介紹了C# 延遲Task.Delay()和Thread.Sleep()的具體使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • C# 線程同步詳解

    C# 線程同步詳解

    本文主要介紹了C#中線程同步的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • C#簡單郵件群發(fā)通用類

    C#簡單郵件群發(fā)通用類

    這篇文章主要為大家分享了簡單的C#郵件群發(fā)通用類,代碼簡單實(shí)用,感興趣的小伙伴們可以參考一下
    2016-03-03
  • C#使用FolderBrowserDialog類實(shí)現(xiàn)選擇打開文件夾方法詳解

    C#使用FolderBrowserDialog類實(shí)現(xiàn)選擇打開文件夾方法詳解

    這篇文章主要介紹了C#選擇文件夾/打開文件夾/瀏覽文件夾等代碼方法,大家參考使用
    2013-11-11
  • 輕松學(xué)習(xí)C#的異常處理

    輕松學(xué)習(xí)C#的異常處理

    輕松學(xué)習(xí)C#的異常處理,對C#的異常處理感興趣的朋友可以參考本篇文章,幫助大家更靈活的運(yùn)用C#的異常處理
    2015-11-11
  • C#實(shí)現(xiàn)讀取Word表格到DataSet

    C#實(shí)現(xiàn)讀取Word表格到DataSet

    在應(yīng)用項(xiàng)目里,多數(shù)情況下我們會(huì)遇到導(dǎo)入 Excel 文件數(shù)據(jù)到數(shù)據(jù)庫的功能需求,但某些情況下,也存在使用 Word 進(jìn)行表格數(shù)據(jù)編輯的情況,這其中也包括導(dǎo)入Word內(nèi)容的功能,比如表格數(shù)據(jù)導(dǎo)出到DataSet數(shù)據(jù)集,本文將給大家介紹了C#讀取Word表格到DataSet
    2023-12-12
  • C#實(shí)現(xiàn)在啟動(dòng)目錄創(chuàng)建快捷方式的方法

    C#實(shí)現(xiàn)在啟動(dòng)目錄創(chuàng)建快捷方式的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)在啟動(dòng)目錄創(chuàng)建快捷方式的方法,涉及C#快捷方式的創(chuàng)建技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • 輕松學(xué)習(xí)C#的讀寫操作

    輕松學(xué)習(xí)C#的讀寫操作

    輕松學(xué)習(xí)C#的讀寫操作,小編也是第一次接觸C#的讀寫操作,感興趣的小伙伴們可以參考一下,大家一起學(xué)習(xí)
    2015-11-11
  • C#12中的Primary?Constructors主構(gòu)造函數(shù)詳解

    C#12中的Primary?Constructors主構(gòu)造函數(shù)詳解

    主構(gòu)造函數(shù)把參數(shù)添加到class與record的類聲明中就是主構(gòu)造函數(shù),這篇文章主要介紹了C#12中的Primary?Constructors 主構(gòu)造函數(shù),需要的朋友可以參考下
    2023-11-11
  • 基于C# winform實(shí)現(xiàn)圖片上傳功能的方法

    基于C# winform實(shí)現(xiàn)圖片上傳功能的方法

    這篇文章主要介紹了基于C# winform實(shí)現(xiàn)圖片上傳功能的方法,很實(shí)用的功能,需要的朋友可以參考下
    2014-07-07

最新評論