Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[seamonkey/FF] affichage des images locales

18 réponses
Avatar
doug713705
Bonjour à toutes, tous,

J'essaie désespérément d'afficher une image locale dans une page HTML avec
le code suivant :
<img src="file:///home/user/image.jpg">
ou encore avec :
<img src="file://c:\Documents and settings\user\image.jpg">

Autant ce(s) code(s) ne posent aucun problème à I.E (!) qu'il est impossible
de faire afficher quoi que ce soit avec SeaMonkey ou FireFox et ceux que se
soit sous Linux ou sous Windows.

J'ai bien autorisé l'affichage des images et si je copie l'URL
(file:///home/user/image.jpg ou file://c:\Documents and
settings\user\image.jpg) de l'image directement dans la barre d'adresse,
l'image s'affiche correctement.

J'en suis à me demander si FF/SM implémente le protocole file:// pour une
source d'image.

Merci de vos avis, conseils éclairés, liens utiles, documentations en
langues absconses, insultes (quoi que pour ce dernier point, 'y'a pas
d'obligation ;-))

--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -

10 réponses

1 2
Avatar
Th.A.C
doug713705 a écrit :
Bonjour à toutes, tous,

J'essaie désespérément d'afficher une image locale dans une page HTML avec
le code suivant :
<img src="file:///home/user/image.jpg">
ou encore avec :
<img src="file://c:Documents and settingsuserimage.jpg">
...



j'ai testé ca en utilisant l'outil de composition intégré de seamonkey
et le menu "insérer" + "image".
Il semble que le "back-slash" est à proscrire.
Pour ton premier test, je n'ai pas de serveur web activé, donc pas de
test possible.

<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title></title>
</head>
<body>
<img style="width: 200px; height: 200px;" alt=""
src="file:///C:/Mes%20documents/Mes%20images/1156269226.gif">
</body>
</html>
Avatar
Hervé Autret
Bonjour

doug713705:

J'en suis à me demander si FF/SM implémente le protocole file:// pour
une source d'image.



Je ne situe pas ton problème. Chez moi, FF-2.0.0.9 et SM-1.1.6 affichent
une ressource telle que <img src="file:///home/user/tmp/test.gif">
sans problème. C'est vrai que tu n'es pas obligé de préciser le
protocole, il suffit de donner le chemin relatif à partir du fichier html

Ex : <img src="./images/test.gif"> si l'image se trouve dans le dossier
images qui est dans le même dossier que le fichier html.
Avatar
doug713705
Le dimanche 11 novembre 2007 15:12, Hervé Autret s'est exprimé de la sorte
sur fr.comp.infosystemes.www.navigateurs :

Je ne situe pas ton problème. Chez moi, FF-2.0.0.9 et SM-1.1.6 affichent
une ressource telle que <img src="file:///home/user/tmp/test.gif">
sans problème. C'est vrai que tu n'es pas obligé de préciser le
protocole, il suffit de donner le chemin relatif à partir du fichier html

Ex : <img src="./images/test.gif"> si l'image se trouve dans le dossier
images qui est dans le même dossier que le fichier html.



ce que je veux faire est d'afficher des images situées localement.
Je n'ai donc aucun moyen de savoir où l'utilisateurs les a rangées.

Le principe que j'ai mis en place est le suivant :
Un formulaire contenant un :

<input type='file' ID='file'>
et un
<input ID='file_name' name='filename' type='hidden'>

A la validation du formulaire, la valeur de champs file est copiée dans le
champs filename à la suite de quoi le formulaire est envoyé en GET (ou POST
cela n'a pas d'importance).

Coté serveur, je récupère en php la valeur de la variable filename et génère
le code HTML avec :
echo "<img src='".$_GET['filename']."'>";

L'exemple ici :
http://doug.letough.free.fr/test

Mais cela ne fonctionne que sous I.E (??)
--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Avatar
doug713705
Le dimanche 11 novembre 2007 14:35, Th.A.C s'est exprimé de la sorte sur
fr.comp.infosystemes.www.navigateurs :

j'ai testé ca en utilisant l'outil de composition intégré de seamonkey
et le menu "insérer" + "image".
Il semble que le "back-slash" est à proscrire.
Pour ton premier test, je n'ai pas de serveur web activé, donc pas de
test possible.



Ben non, ce n'est même pas une histoire de backslach puisque même sous linux
cela ne fonctionne pas.

--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Avatar
Olivier Miakinen
Le 11/11/2007 22:19, doug713705 a écrit :

Coté serveur, je récupère en php la valeur de la variable filename et génère
le code HTML avec :
echo "<img src='".$_GET['filename']."'>";

L'exemple ici :
http://doug.letough.free.fr/test



<img src="file://C:AUTOEXEC.BAT" title="zob">

1) Il faudrait un troisième « / » après « file:// ».
2) Ce serait peut-être mieux avec « / » au lieu de « ».
3) Il manque un alt.
4) Le title... euh... non, rien.

Bien entendu, seuls les deux premiers points sont susceptibles
d'empêcher que ça marche (surtout le premier, je suppose).
Avatar
Olivier Miakinen
Le 11/11/2007 23:29, Olivier Miakinen a écrit :

L'exemple ici :
http://doug.letough.free.fr/test



<img src="file://C:AUTOEXEC.BAT" title="zob">

1) Il faudrait un troisième « / » après « file:// ».
2) Ce serait peut-être mieux avec « / » au lieu de « ».



En fait ce n'est pas ça, puisqu'il corrige tout seul avant de décider
que ce serait un trou de sécurité. D'ailleurs même en corrigeant
moi-même cela donne :

Security Error: Content at
http://doug.letough.free.fr/test/load.php?fichier=/C:/chatonsouriant.jpg
may not load or link to file:///C:/chatonsouriant.jpg.

Bien entendu, si je mets le même code HTML sur ma machine et que j'y
accède par « file: », alors le <img src=...> fonctionne.
Avatar
doug713705
Le dimanche 11 novembre 2007 23:42, Olivier Miakinen s'est exprimé de la
sorte sur fr.comp.infosystemes.www.navigateurs :


Bien entendu, si je mets le même code HTML sur ma machine et que j'y
accède par « file: », alors le <img src=...> fonctionne.



C'est bien tout mon problème, on dirait que FF et SM ne veulent pas utiliser
le protocole file en même temps que du HTTP.

J'ai essayé pas mal de combinaison possible, plus ou moins de slash, avec ou
sans blackslash etc... Sans succès.

J'ai également essayé en accédant au serveur via localhost : sans succès non
plus.

--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Avatar
Olivier Miakinen
Le 11/11/2007 23:53, doug713705 a écrit :

Bien entendu, si je mets le même code HTML sur ma machine et que j'y
accède par « file: », alors le <img src=...> fonctionne.



C'est bien tout mon problème, on dirait que FF et SM ne veulent pas utiliser
le protocole file en même temps que du HTTP.



C'est d'ailleurs parfaitement logique. Avec ton formulaire tu demandes à
l'utilisateur de fournir lui-même le nom d'un fichier qui est sur sa
machine, mais une personne malintentionnée pourrait mettre des <img> ou
des <object> avec des noms de fichier qu'il a choisis lui-même. Avec un
petit code JavaScript pour voir si l'objet s'est chargé ou pas, cela
peut fournir de précieuses informations à des crackeurs sur la config
du visiteur.

Le jour où les développeurs d'Internet Exploreur auront compris le
danger que cela représente, nul doute qu'eux aussi supprimeront cette
fonctionnalité du navigateur.

J'ai essayé pas mal de combinaison possible, plus ou moins de slash, avec ou
sans blackslash etc... Sans succès.

J'ai également essayé en accédant au serveur via localhost : sans succès non
plus.



Mais bien sûr, puisque c'est bloqué *exprès*. Si tu veux fournir aux
visiteurs un petit gestionnaire de fichiers qui affiche les images, tu
devras leur donner une application à télécharger et lancer eux-mêmes,
pas un lien vers des pages HTML chez toi.

Désolé.
Avatar
doug713705
Le lundi 12 novembre 2007 01:16, Olivier Miakinen s'est exprimé de la sorte
sur fr.comp.infosystemes.www.navigateurs :


C'est d'ailleurs parfaitement logique. Avec ton formulaire tu demandes à
l'utilisateur de fournir lui-même le nom d'un fichier qui est sur sa
machine, mais une personne malintentionnée pourrait mettre des <img> ou
des <object> avec des noms de fichier qu'il a choisis lui-même. Avec un
petit code JavaScript pour voir si l'objet s'est chargé ou pas, cela
peut fournir de précieuses informations à des crackeurs sur la config
du visiteur.



Je me doutais bien d'un truc dans ce goût là, mais j'espérais malgré tout.

Pourtant un code comme celui ci (nouvelle version) :
http://doug.letough.free.fr/test/

Ne pose aucun problème de sécurité, il affiche localement l'image sans
requête vers le serveur.

Le jour où les développeurs d'Internet Exploreur auront compris le
danger que cela représente, nul doute qu'eux aussi supprimeront cette
fonctionnalité du navigateur.



Ah, ça...

D'ailleurs j'avais basé ce petit tour de passe-passe sur de vieilles
connaissance d'I.E 4 datant de mes débuts dans la bidouille internetique.

J'ai essayé pas mal de combinaison possible, plus ou moins de slash, avec
ou sans blackslash etc... Sans succès.

J'ai également essayé en accédant au serveur via localhost : sans succès
non plus.



Mais bien sûr, puisque c'est bloqué *exprès*. Si tu veux fournir aux
visiteurs un petit gestionnaire de fichiers qui affiche les images, tu
devras leur donner une application à télécharger et lancer eux-mêmes,
pas un lien vers des pages HTML chez toi.



Bah, c'était justement pour éviter l'upload d'images que je faisait ça.

Je n'ai besoin que d'afficher localement sur le client des images situées
localement sur le poste client.

Désolé.



Arf... Merci de ton aide.

--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Avatar
Mickaël Wolff
doug713705 a écrit :
Pourtant un code comme celui ci (nouvelle version) :
http://doug.letough.free.fr/test/

Ne pose aucun problème de sécurité, il affiche localement l'image sans
requête vers le serveur.



Ben si, que le navigateur puisse autoriser cela est un problème de
sécurité. C'est pas parce que toi, gentil que tu es, tu n'exploite pas
cette possibilité à des fins malveillantes que d'autres ne le peuvent pas.


--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
1 2