OVH Cloud OVH Cloud

[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) -

8 réponses

1 2
Avatar
Jean-Marc Desperrier
doug713705 wrote:
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.



En effet, ce code là ne pose pas de problème de sécurité.

Idéalement Fx gérerait la sécurité des données "à la perl" par un
marquage (data tainting) plutôt que par le protocole.

Dans ce cas lorsque tu cherche à charger des données locale, grâce au
marquage il pourrait savoir si le bloc de données provient du réseau ou
de l'utilisateur (par l'intermédiaire d'un "input type='file'").

Ce modèle de sécurité a en fait été testé sur Netscape 3, mais
visiblement les développeurs n'avait pas suffisament confiance dans la
sécurité de l'implémentation pour continuer à le développer (cf
http://safari.oreilly.com/1565923928/jscript3-ID-21.4 ou
http://www-eleves-isia.cma.fr/documentation/Web/javascript/javascri/advtopic.htm#1009533
).

Dans ton cas, la solution me semble être de passer par une iframe pour
contourner le problème. Tu crée dynamiquement un nouvel iframe à
l'endroit où tu souhaite afficher l'image, en lui donnant comme source
non pas une page web, mais l'image indiquée par l'utilisateur (vérifie
qu'elle est d'un type géré directement par le navigateur).
Avatar
doug713705
Le lundi 12 novembre 2007 10:31, Jean-Marc Desperrier s'est exprimé de la
sorte sur fr.comp.infosystemes.www.navigateurs :

Dans ton cas, la solution me semble être de passer par une iframe pour
contourner le problème. Tu crée dynamiquement un nouvel iframe à
l'endroit où tu souhaite afficher l'image, en lui donnant comme source
non pas une page web, mais l'image indiquée par l'utilisateur



Ca complique un peu les choses et ce d'autant plmus que l'image a afficher
est déjà dans une iframe mais si je n'ai pas le choix...

Merci de votre aide à tous.
--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Avatar
doug713705
Le lundi 12 novembre 2007 06:57, Mickaël Wolff s'est exprimé de la sorte sur
fr.comp.infosystemes.www.navigateurs :

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.



C'est mon coté fleur bleue ;-)

--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Avatar
doug713705
Le lundi 12 novembre 2007 11:37, doug713705 s'est exprimé de la sorte sur
fr.comp.infosystemes.www.navigateurs :

Dans ton cas, la solution me semble être de passer par une iframe pour
contourner le problème. Tu crée dynamiquement un nouvel iframe à
l'endroit où tu souhaite afficher l'image, en lui donnant comme source
non pas une page web, mais l'image indiquée par l'utilisateur



Ca complique un peu les choses et ce d'autant plmus que l'image a afficher
est déjà dans une iframe mais si je n'ai pas le choix...




Bon ben, ce n'est guère mieux avec une iframe mais au moins j'ai l'affichage
clair d'une erreur dans la console javascript de SM :

Erreur de sécurité : le contenu situé à http://canaan/test/ ne peut pas
charger de données ou établir un lien vers file:///home/doug/ciel.JPG.

--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Avatar
Jean-Marc Desperrier
doug713705 wrote:
Bon ben, ce n'est guère mieux avec une iframe mais au moins j'ai l'affichage
clair d'une erreur dans la console javascript de SM :

Erreur de sécurité : le contenu situé à http://canaan/test/ ne peut pas
charger de données ou établir un lien vers file:///home/doug/ciel.JPG.



Tu peux montrer le source ? Parceque pour contourner la sécurité entre
sites, ça marche très bien en général.
Avatar
doug713705
Le mardi 13 novembre 2007 18:07, Jean-Marc Desperrier s'est exprimé de la
sorte sur fr.comp.infosystemes.www.navigateurs :

doug713705 wrote:
Bon ben, ce n'est guère mieux avec une iframe mais au moins j'ai
l'affichage clair d'une erreur dans la console javascript de SM :

Erreur de sécurité : le contenu situé à http://canaan/test/ ne peut pas
charger de données ou établir un lien vers file:///home/doug/ciel.JPG.



Tu peux montrer le source ? Parceque pour contourner la sécurité entre
sites, ça marche très bien en général.



Voilà (Le résultat est là : http://doug.letough.free.fr/test/ ) :
J'ai "skippé" les contrôles, c'est juste un test hein ;-)
Par contre je n'ai essayé que sous linux avec SeaMonkey 1.1.4

<html>
<head>
<script language='javascript'>
function affiche(){
if(document.getElementById("fichier").value.length>0){
alert(document.getElementById("fichier").value);
document.getElementById("frame").src="file://"+document.getElementById("fichier").value;
}else{
alert("Oh !");
}
}
</script>
</head>
<body>
<center>

Fichier : <input ID='fichier' type='file'>
<p><input type='button' onClick="javascript:affiche();" value="Affiche moi
cette #@$~! d'image"></p>
<TD align='center' valign='top'>
<IFRAME scrolling='auto' width='800' height='600' ID='frame'
src='about:blank'>
</IFRAME>
</TD>
</center>
</body>
</html>

--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Avatar
Yamo'
Salut,
Le Tue, 13 Nov 2007 21:05:00 +0100, doug713705 a écrit ce message (
):

Voilà (Le résultat est là : http://doug.letough.free.fr/test/ ) :



Avec Epiphany *

J'ai ça :
Security Error: Content at http://doug.letough.free.fr/test/ may not load
or link to file:///home/***/conc-nk05_sommets.jpg.

et
Error: uncaught exception: [Exception... "Access to restricted URI
denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)"
location: "http://doug.letough.free.fr/test/ Line: 7"]


* user agent : Mozilla/5.0 (X11; U; Linux i686; en; rv:1.8.1.8)
Gecko/20071022 Epiphany/2.20 Firefox/2.0.0.8

Stéphane
--
Le comité est là pour juger l'injugeable directement sur fufe.
-+- FS in: Guide du Cabaliste Usenet - Bien gérer son K^Q^Comité -+-
Avatar
Yamo'
Salut,

Le Tue, 13 Nov 2007 21:05:00 +0100, doug713705 a écrit ce message (
):

Voilà (Le résultat est là : http://doug.letough.free.fr/test/ ) :



J'ai essayé avec ça :

http://yamodivin.free.fr/temp/doug.html

Mais, j'ai le même genre d'erreur.

Stéphane
--
L'avantage du fromage sur les américains,
c'est qu'il y a une culture dedans.
-+- MZ in: Guide du Cabaliste Usenet - chapitre 9 - le gros 8 -+-
1 2