C'est passé assez inaperçu, mais pendant longtemps il y avait dans IE6, IE7 et même IE8 un bug fort pratique permettant d'accéder au chemin complet d'un fichier via un <input type="file">. Je dis pratique car il permettait aux plus malins d'entre nous d'afficher une fausse preview d'une photo à côté du champs.
Code :
<form>
<input type="file" id="file-upload" onchange="document.getElementById('thumb').src=this.value;" />
<img id="thumb" src="avatar_JP.jpg" />
</form>
Si vous avez IE6 ou 7 ou un vieux IE8, vous pouvez le tester :
Les autres browsers se contentent de donner le nom du fichier, pour des raisons pas si évidentes que ça de sécurité : Il y a 5 ans de ça j'ai même expérimenté un virus qui exploitait cet oubli de MS.
Voici un screenshot de IE7 avec un alert( this.value ); :
Le chemin est complet, il n'y a qu'à faire pointer le src d'une image dessus pour l'afficher. Voici maintenant un screenshot avec un IE8 à jour :
Le chemin est maintenant "C:\fakepath\nom_image" ... Ca sent le dévelopeur stressé qui quick fix discrètement un soft un peu trop gros pour lui :)
EDIT: Opera 10.10 fait quasi pareil ! : C:\fake_path\porsche_06032005_exif2.jpg
Les commentaires récents