Est HttpPostedFile.ContentType un bon moyen de valider un fichier téléchargé?

Je veux valider le type de fichier pour s'assurer que l'utilisateur télécharge une image de type JPEG, GIF ou PNG. Au lieu de vérifier l'extension du fichier, j'ai pensé à l'aide de HttpPostedFile.ContentType serait plus sûr, car il vérifie le type de contenu 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;
}

Est-ce un bon moyen de vérifier le type de fichier, ou peut-il être dupe?

OriginalL'auteur Steven | 2010-10-26