麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:30:04
字體:
來源:轉載
供稿:網友
本文介紹一種更安全的方式上傳圖片,他能有效的防止一些通過修改文件后綴或MIME來偽造的圖片的上傳,從而保證服務器的安全,希望對大家有所幫助。
 

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

下面介紹通過byte獲取文件類型,來做判斷的方式

if (Request.Files.Count > 0){  //這里只測試上傳第一張圖片file[0]  HttpPostedFile file0 = Request.Files[0];      //轉換成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)//圖片數據是否為空  {    fileFlag = fileByte[0].ToString() + fileByte[1].ToString();           }  string[] fileTypeStr = { "255216", "7173", "6677", "13780" };//對應的圖片格式jpg,gif,bmp,png  if (fileTypeStr.Contains(fileFlag))  {    file0.SaveAs(Server.MapPath("~/" + file0.FileName));  }  else  {    Response.Write("圖片格式不正確:" + fileFlag);  }}

常見文件類型對應的byte數據

199196 sqlite數據庫文件
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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 人人做人人看 | 91精品国产91久久久久久 | 午夜精品在线视频 | 日韩黄色片免费看 | av在线免费网 | www.国产一区.com | 成人毛片网 | 欧美综合在线观看 | 欧美中文字幕一区二区 | 久久久视频免费观看 | 国产福利不卡一区二区三区 | 国产精品999在线观看 | 日韩在线播放第一页 | 色妹子久久 | 91久久久久久久久久久久久久 | 久久亚洲春色中文字幕久久 | 最新福利在线 | 色欲香天天天综合网站 | 欧美成人高清视频 | 黄色午夜剧场 | www.91pron| 嗯~啊~用力~高h | 神马久久精品综合 | 精品一区二区久久久久久久网精 | 欧美成人一区二区三区电影 | 免费的性生活视频 | 黄色18网站 | 亚洲精品一区二区三区大胸 | 免费观看视频网站 | 国产一级做a爱片在线看免 2019天天干夜夜操 | 亚洲5区 | 海外中文字幕在线观看 | 成人午夜视频免费在线观看 | 欧美日韩免费在线观看视频 | 国产理论视频在线观看 | 狠狠一区二区 | 久久国产精品系列 | 久久国产亚洲视频 | 久久91久久 | 爱逼爱操综合网 | 无遮挡一级毛片视频 |