[英]How to properly validate file from user and detect extension change?
我有这个代码
public bool IsImage(HttpPostedFileBase file)
{
var contentType = file.ContentType.Split("/")(0).ToLower() == "image"
if (contentType != "image")
{
return false;
}
return true;
}
但是,如果用户将.exe
文件重命名为.jpg
,它仍然会认为它是有效的图像文件。 如何预防呢?
检查是否为图像的最简单方法是将其加载为图像,例如,使用Image.FromStream
。 如果抛出异常,则不是图像(或者至少不是受支持的图像格式)。 我相信不仅限于使用扩展名或声明的MIME类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.