濮阳杆衣贸易有限公司

主頁 > 知識庫 > ASP.NET通過byte正確安全的判斷上傳文件格式

ASP.NET通過byte正確安全的判斷上傳文件格式

熱門標(biāo)簽:遂寧市地圖標(biāo)注app 地圖標(biāo)注專業(yè)團隊 濮陽外呼電銷系統(tǒng)怎么樣 400電話辦理哪家性價比高 塔城代理外呼系統(tǒng) 代理接電話機器人如何取消 天心智能電銷機器人 地圖標(biāo)注的公司有哪些 地圖定位圖標(biāo)標(biāo)注

ASP.NET中在判斷文件格式時,我們以前常用的方法就是通過截取擴展名來做判斷,或者通過ContentType (MIME) 判斷,這兩種方法都不太安全,因為這兩種方式用戶都可以偽造,從而達可以攻擊網(wǎng)站,實現(xiàn)給網(wǎng)站掛馬等目的。

下面介紹通過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 = new byte[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,png
  if (fileTypeStr.Contains(fileFlag))
  {
    file0.SaveAs(Server.MapPath("~/" + file0.FileName));
  }
  else
  {
    Response.Write("圖片格式不正確:" + fileFlag);
  }
}

常見文件類型對應(yīng)的byte數(shù)據(jù)

199196 sqlite數(shù)據(jù)庫文件
7076 flv視頻文件
6787 swf視頻文件
7173 gif
255216 jpg
13780 png
6677 bmp
239187 txt,aspx,asp,sql
208207 xls.doc.ppt
6063 xml
6033 htm,html
4742 js
8075 xlsx,zip,pptx,mmap,zip,docx
8297 rar
01 accdb,mdb
7790 exe,dll
5666 psd
255254 rdp
10056 bt種子
64101 bat
255254 csv
3780 pdf
您可能感興趣的文章:
  • asp.net FileUpload控件實現(xiàn)文件格式判斷與文件大小限制
  • 概述.net開發(fā)過程中Bin目錄下面幾種文件格式

標(biāo)簽:宜春 河南 麗江 重慶 吉林 本溪 婁底 汕頭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET通過byte正確安全的判斷上傳文件格式》,本文關(guān)鍵詞  ASP.NET,通過,byte,正確,安全,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET通過byte正確安全的判斷上傳文件格式》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET通過byte正確安全的判斷上傳文件格式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章

    上一篇:解決ASP.NET中/應(yīng)用程序中的服務(wù)器錯誤的方法

    下一篇:ASP.NET 5已終結(jié),迎來ASP.NET Core 1.0和.NET Core 1.0

    宣威市| 晋宁县| 湘乡市| 浦北县| 淮阳县| 通许县| 长子县| 调兵山市| 介休市| 门源| 新津县| 阳原县| 尼木县| 元氏县| 上犹县| 鄂托克前旗| 弥勒县| 星座| 平山县| 长葛市| 皋兰县| 周至县| 宣汉县| 叙永县| 威宁| 潮州市| 上犹县| 和林格尔县| 宜章县| 黑龙江省| 黄浦区| 洞头县| 班玛县| 保康县| 铁岭市| 兴和县| 永泰县| 白银市| 临西县| 石门县| 炎陵县|