Une petite analyse...
Partons d'un cas simple:
1. créer un fichier test.html
2. mettre une image dont la source est un chemin local
<img src="file:///Users/xxxxx/images/image.png" alt="image.png">
3. on test...
Différents cas peuvent alors se présenter, selon le protocole utilisé :
- protocole 'file' : file:///chemin/vers/ma/page.html
- protocole 'http' : http://mon.site.com/page.html (ou http://localhost/page.html)
On est tous d'accord qu'avec le protocole 'file' (c'est peut etre pas vraiment un protocole, mais bon...), l'image est affichée, avec IE comme avec Firefox.
Avec 'http', c'est different : l'interpreteur javascript du navigateur doit empécher (pour les raisons de sécurité citées dans les messages précédents) la lecture (et bien évidemment l'écriture aussi...) des fichiers locaux, à moins qu'on lui indique explicitement (cas d'un upload). Verdict :
- avec Firefox : le 'alt' est affiché (normal, l'image n'est pas accessible)
- avec IE ... l'image est affichée !!!
On peut tout d'abord penser que le test ayant été effectué avec l'url http://localhost/page.html, IE devine que c'est en local et donc autorise la lecture. Quenéni (de toute facon je suis sur mac, donc pas d'IE en local). Le test précédent a été effectué depuis un PC du réseau, avec IE6, en pointant une url du type http://192.168.56.3/page.html, ou l'ip est celle de mon mac.
Bilan : IE6 permet bel et bien la lecture de fichier locaux via javascript
Et bien les gars, si ca c'est pas une faille de sécu...
PS: Quelqu'un pourrait-il tester avec IE7 svp ?
Cordialement,
Guillaume
Partager