Bonjour,

Je viens de constater quelque chose qui me surprend.

J'ai un formulaire qui me permet d'uploader des images

<form enctype="multipart/form-data" method="post" action="actionUpload.php">
        <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
        Ajouter <input type="file" size="50" name="image" maxlength="1000000" />
        <input type="submit" value="Envoyer" />
</form>


Je fais un traitement en fonction du type (jpeg, png, ...), je fais donc un test sur le type de fichier. Surprise avec la même image, j'ai des types différents :

Sous Firefox / Safari / Opera : image/jpeg ou image/png
Sous IE7 (pas testé 6) : image/pjpeg ou image/x-png

Ce n'est pas insurmontable, mais je ne comprends pas pourquoi. Une explication ?

Merci,
Frédéric.
Modérateur
Bonjour fmadrolle,

Bien que je recherche actuellement un article plus approndi à ce sujet, de ce que j'ai pu comprendre, c'est que le type de fichier (Mimetype) est déterminé par le navigateur en utilisant certains repères, qui peuvent différés d'un navigateur à l'autre. Pour déterminer un mimetype, le navigateur peut se baser sur l'extension du fichier ou une entête particulière dans le fichier.

Le navigateur peut posséder une liste prédéfinies de Mimetype versus l'extension, et se baser là-dessus pour déterminer le type de fichier. Il peut également demander au système d'exploitation de lui donner le bon mimetype.

Bref, chaque navigateur a sa propre procédure pour déterminer le mimetype du fichier. Il ne faut donc jamais faire confiance au mimetype qui est envoyé par le navigateur. Un utilisateur pourrait très bien trafiquer le fichier, son navigateur ou son système d'exploitation pour faire passer un fichier .php en un fichier image afin d'exécuter le script sur ton serveur.

Je manque cruellement de connaissances plus techniques au niveau des mimetype. J'aimerais donner plus de détails mais je n'ai hélas pas encore trouvé d'articles qui expliquent tout en détails.

Je n'ai trouvé que Comment Mozilla détermine les Mimetypes (en), mais il y a également un lien dans l'article à propos d'Internet Explorer.

Bonne journée
Modifié par Tony Monast (20 Nov 2007 - 19:59)