OVH Cloud OVH Cloud

iframe : contenant et contenu de domaines différents

3 réponses
Avatar
Lyle
Salut,

Je propose de disposer sur le site de mes visiteurs une bannière qui déroule
la liste des news de mon site web. Tout fonctionne mais mon souci est
lorsque je veux connaitre la liste des sites web herbégeant ma bannière:
impossible de récupérer une information sur la page qui heberge ma banniere,
je m'explique:

je leur propose de copier ce code dans leur site web

<!-- Début Bandeau News -->
<iframe border=0 scrolling=no marginwidth=0 marginheight=0 width=468
frameborder=0 height=60 src="http://www.monsiteweb.tsst/banniere.htm"
style="margin:0px;padding:0px;"></iframe>
<!-- Fin Bandeau News -->

Ainsi ils ont un iframe sur leur site qui vient lire une page sur mon site.
Lorsque dans "banniere.htm", herbégé sur mon domaine, je veux connaitre le
"top.location.href" ou même le "top.name" pour connaitre la page qui
contient mon iframe, javascript voit qu'il s'agit d'un domaine différent au
mien et part en erreur.

J'aimerai donc trouver le moyen soit de contourner cette règle de sécurité,
soit d'avoir cette information (url de la page appelante, ou au moins le
name, le title de la page...) par un moyen auquel je n'aurai pas pensé...

Merci de votre aide
Lyle

3 réponses

Avatar
Pierre Goiffon
Lyle wrote:
(...)
Ainsi ils ont un iframe sur leur site qui vient lire une page sur mon site.
Lorsque dans "banniere.htm", herbégé sur mon domaine, je veux connaitre le
"top.location.href" ou même le "top.name" pour connaitre la page qui
contient mon iframe, javascript voit qu'il s'agit d'un domaine différent au
mien et part en erreur.

J'aimerai donc trouver le moyen soit de contourner cette règle de sécurité


2 solutions :

1) pas sûre, presque nulle : utiliser le referer

2) ce que tout le monde utilise :
<iframe src="http://www.monsiteweb.tsst/banniere.htm?__NOMFOURNISSEUR" ...>

Avatar
Lyle
"Pierre Goiffon" a écrit dans le message de
news:44ec512f$0$30577$

2 solutions :

1) pas sûre, presque nulle : utiliser le referer


ahalala ! je revenais justement pour m'auto-répondre aprés avoir découvert
et testé "document.referrer" (attention 2 "r"....)
Cela semble bien fonctionner, je récupère quelque fois des données vides..
je ne sais pas trop pourquoi...mais au moins ça marche la plupart du temps
pour l'instant..


2) ce que tout le monde utilise :
<iframe src="http://www.monsiteweb.tsst/banniere.htm?__NOMFOURNISSEUR"
...>


certes, mais je veux éviter que quelqu'un ait à s'identifier pour mettre ma
bannière sur son site.. c'est déjà bien sympa de sa part je trouve :-)

Merci !
Lyle

Avatar
Pierre Goiffon
Lyle wrote:
1) pas sûre, presque nulle : utiliser le referer


ahalala ! je revenais justement pour m'auto-répondre aprés avoir découvert
et testé "document.referrer" (attention 2 "r"....)
Cela semble bien fonctionner, je récupère quelque fois des données vides..
je ne sais pas trop pourquoi...mais au moins ça marche la plupart du temps
pour l'instant..


C'est pour cela que je parlais de solution nulle : de mon expérience
environ 10% (en grand public) des agents filtrent l'entête referer (un
seul r). Dans tous les cas, c'est le client qui controle totalement
cette valeur, son envoi ou non, donc...

2) ce que tout le monde utilise :
<iframe src="http://www.monsiteweb.tsst/banniere.htm?__NOMFOURNISSEUR"
...>


certes, mais je veux éviter que quelqu'un ait à s'identifier pour mettre ma
bannière sur son site.. c'est déjà bien sympa de sa part je trouve :-)


Alors :

document.write("<iframe src='http://.../banniere.htm?" +
escape(document.location) + ...);

Enfin quelques chose du genre

Mais alors, attention car bcp d'agents utilisateurs n'ont pas de JS
activé...