I want to check the file type to make sure the user uploads an image like JPEG, GIF or PNG. Instead of checking the file extension, I realized that using HttpPostedFile.ContentType would be more secure, as it checks the type of MIME content.
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; }
Is this a perfect way to check the file type, or can it be tricked?
Steven
source share