C#判斷上傳文件是否是圖片以防止木馬上傳的方法
很多時(shí)候木馬程序會(huì)偽裝成其他格式的文件上傳到網(wǎng)站,最常見的如圖片格式。本文就以C#為例講述C#判斷上傳文件是否是圖片以防止木馬上傳的方法,具體方法如下:
方法一:用image對(duì)象判斷是否為圖片
/// <summary>
/// 判斷文件是否為圖片
/// </summary>
/// <param name="path">文件的完整路徑</param>
/// <returns>返回結(jié)果</returns>
public Boolean IsImage(string path)
{
try
{
System.Drawing.Image img = System.Drawing.Image.FromFile(path);
return true;
}
catch (Exception e)
{
return false;
}
}
方法二,判斷文件頭
/// <summary>
/// 根據(jù)文件頭判斷上傳的文件類型
/// </summary>
/// <param name="filePath">filePath是文件的完整路徑 </param>
/// <returns>返回true或false</returns>
private bool IsPicture(string filePath)
{
try
{
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(fs);
string fileClass;
byte buffer;
buffer = reader.ReadByte();
fileClass = buffer.ToString();
buffer = reader.ReadByte();
fileClass += buffer.ToString();
reader.Close();
fs.Close();
if (fileClass == "255216" || fileClass == "7173" || fileClass == "13780" || fileClass == "6677")
//255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
{
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
測(cè)試顯示方法二針對(duì)常規(guī)修改的木馬有效,也就是直接修改擴(kuò)展名的,比如把.asp改成.jpg這種。但是對(duì)于那種用工具生成的jpg木馬則沒有效果。此時(shí)推薦大家使用第一種方法。
- C#實(shí)現(xiàn)HTTP上傳文件的方法
- C# 通用文件上傳類
- asp.net(c#)開發(fā)中的文件上傳組件uploadify的使用方法(帶進(jìn)度條)
- C# 文件上傳 默認(rèn)最大為4M的解決方法
- asp.net(C#)中上傳大文件的幾中常見應(yīng)用方法
- C#采用HttpWebRequest實(shí)現(xiàn)保持會(huì)話上傳文件到HTTP的方法
- ASP.NET(C#)實(shí)現(xiàn)一次性動(dòng)態(tài)上傳多張圖片的代碼(多個(gè)文件)
- C#實(shí)現(xiàn)Web文件上傳的兩種方法實(shí)例代碼
- jQuery結(jié)合C#實(shí)現(xiàn)上傳文件的方法
- C#實(shí)現(xiàn)文件上傳以及多文件上傳功能
相關(guān)文章
Unity的BuildPlayerProcessor實(shí)用案例深入解析
這篇文章主要為大家介紹了Unity的BuildPlayerProcessor實(shí)用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
c# 代碼調(diào)試技巧和如何遠(yuǎn)程調(diào)試
這篇文章主要介紹了c# 代碼調(diào)試技巧和如何遠(yuǎn)程調(diào)試,幫助大家更好的理解和使用c#編程語言,感興趣的朋友可以了解下2020-11-11
C#在WinForm中使用WebKit傳遞js對(duì)象實(shí)現(xiàn)與網(wǎng)頁交互的方法
這篇文章主要介紹了C#在WinForm中使用WebKit傳遞js對(duì)象實(shí)現(xiàn)與網(wǎng)頁交互的方法,涉及針對(duì)WebBroswer控件及WebKit控件的相關(guān)使用技巧,需要的朋友可以參考下2016-03-03

