gpt4 book ai didi

c# - HttpPostedFile.ContentType 是验证上传文件的完美方式吗?

转载 作者:太空狗 更新时间:2023-10-29 20:11:48 26 4
gpt4 key购买 nike

我想验证文件类型以确保用户正在上传 JPEG、GIF 或 PNG 类型的图像。我认为使用 HttpPostedFile.ContentType 会更安全,因为它会检查 MIME 内容类型,而不是检查文件扩展名。

protected void cvValidateImageType_ServerValidate(object source, ServerValidateEventArgs args)
{
if (fupImage.HasFile)
{
args.IsValid = (fupImage.PostedFile.ContentType.ToLower() == "image/jpg" ||
fupImage.PostedFile.ContentType.ToLower() == "image/jpeg" ||
fupImage.PostedFile.ContentType.ToLower() == "image/pjpeg" ||
fupImage.PostedFile.ContentType.ToLower() == "image/gif" ||
fupImage.PostedFile.ContentType.ToLower() == "image/x-png" ||
fupImage.PostedFile.ContentType.ToLower() == "image/png");

}
else
args.IsValid = true;
}

这是检查文件类型的完美方法,还是可以被愚弄?

最佳答案

使用扩展可能更安全。 ContentType 在来自客户端的 http 请求中发送。如果测试扩展名,用户可以将 exe 的扩展名更改为 jpg,但它不会作为 exe 运行。

关于c# - HttpPostedFile.ContentType 是验证上传文件的完美方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4019874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com