ams51 Posté 3 Juin 2004 Posté 3 Juin 2004 Voilà mon problème : j'ai un site qui a une iframe dans laquelle se trouve un second site (d'un domaine différent) dans ce second site je crée un cookie pour mémoriser une donnée mais IE Bloque ce cookie car il n'a pas de stratégie de confidentialité compacte. Ma question est comment définir une stratégie compacte pour un cookie en PHP ??
Anonymus Posté 3 Juin 2004 Posté 3 Juin 2004 Beaucoup de paramètres (tous) peuvent etre passés hors cookies. Qu'entends tu par "stratégie compacte" ? Anonymus.
ams51 Posté 3 Juin 2004 Auteur Posté 3 Juin 2004 D'après ce que j'ai compris il faut que le cookie soit compressé Je cherche une solution sans cookie, ce sera plus propre et moins problématique
ams51 Posté 3 Juin 2004 Auteur Posté 3 Juin 2004 Pour ceux que ça interesse.... Si on veut creer un cookie à partir d'une page qui n'appartient pas au domaine en cours (par exemple via une iframe) Il suffit de creer un fichier p3p.xml <?xml version="1.0" encoding="UTF-8" ?> <META xmlns="http://www.w3.org/2000/12/P3Pv1"><POLICY-REFERENCES> <POLICY-REF about="/w3c/policy.xml"> <INCLUDE>/*</INCLUDE> <COOKIE-INCLUDE>* * *</COOKIE-INCLUDE> </POLICY-REF></POLICY-REFERENCES></META> et pour la creation des cookies il faut rajouter un header : header("P3P: policyref=\"http://www.mondomaine.com/p3p.xml\",CP=\"NON DSP COR CURa PSA PSD OUR BUS NAV STA\"");setcookie("moncookie",$valeurducookie, time()+(3600*$nb_heures), "/", "mondomaine.com",0); Avec ça le cookie se crée même si l'internaute est en protection haute sur IE Pour info j'ai piqué le code de Xiti et j'ai validé avec cette page : http://www.yoyodesign.org/doc/w3c/p3p1/#compact_policies Je n'ai pas eu le temps d'approfondir mais il est tard et j'ai sommeil
Dan Posté 4 Juin 2004 Posté 4 Juin 2004 Cette solution mérite d'être épinglée... je connais certains membres du Hub qui se sont cassé la tête avec les cookies "multi-domaines"
ams51 Posté 4 Juin 2004 Auteur Posté 4 Juin 2004 c'est trop d'honneur... J'ai pompé le code de Xiti pour le XML et le header (Xiti met un cookies à son nom sur les sites sur lequel il est installé) Je n'ai pas eu le temps de vérifier les paramètres : CP=\"NON DSP COR CURa PSA PSD OUR BUS NAV STA\" mais tout est bien expliqué chez yoyodesign. donc merci à eux
vonde Posté 16 Juin 2004 Posté 16 Juin 2004 Bonjour, j essaye effectivement de faire ce que vous avez dérit .. mais ma question va peut être bête mais a quoi correspond exactement l'about qui est située dans le about ? <POLICY-REF about="/w3c/policy.xml"> et est ce que le contenu du XML est tel quel ? ou il y a t il quelque chose a retoucher .. je veux parler des * Merci beaucoup de votre aide
vonde Posté 16 Juin 2004 Posté 16 Juin 2004 euh pardon je veux dire l'url située dans le about .. honte a moi
ams51 Posté 16 Juin 2004 Auteur Posté 16 Juin 2004 (modifié) Comme j'avais programmé ça très rapidement sans vraiment comprendre ce que j'étais en train de faire, j'ai effectué quelques recherches... l'élément element policy-ref est expliqué en théorie chez yoyodesign. Le principe du P3P est clairement expliqué (vulgarisé) sur le site de Symantec Et tu trouveras quelques exemples de fichier "w3c/policy.xml" sur Google La création de site passe de plus en plus par une politique globale de sécurité, accessibilité etc... plein de normes à avaler en perspective Edit : pour le contenu du xml il n'y a rien à modifier... Tu fais un C/C et ça fonctionne. Modifié 16 Juin 2004 par ams51
vonde Posté 21 Juin 2004 Posté 21 Juin 2004 Merci beaucoup de ta réponse .. en fait effectivement ca marche tres bien .. mais il y a quand un souci .. bah oui il y en a toujours <POLICY-REFERENCES> <POLICY-REF about="/w3c/policy.xml"> <COOKIE-INCLUDE name="*" value="*" domain="*" path="*"/> </POLICY-REF></POLICY-REFERENCES> apparemment la norme ne prend en compte qu un cookie de session c est a dire que si tu fais setcookie("moncookie", "mavaleur", time()+3600*24*365*66,"", ".mondomaine.com"); bah le cookie expire a la fin de la session .. il ne tient pas compte du temps .. tout ca parce que dans le cookie include y a pas de valeur expire .. est ce que quelqu un connait un moyen de contourner ce petit problème ... tout de même un peu bloquant le souci Merci beaucoup
piwaille Posté 26 Septembre 2004 Posté 26 Septembre 2004 'Alut me permet de relancer le débat puisque j'ai à peu près le même problème... Avec ça le cookie se crée même si l'internaute est en protection haute sur IE Pour info j'ai piqué le code de Xiti et j'ai validé avec cette page : http://www.yoyodesign.org/doc/w3c/p3p1/#compact_policies Je n'ai pas eu le temps d'approfondir mais il est tard et j'ai sommeil <{POST_SNAPBACK}> j'ai utilisé ton code (honteusement ) mais dans mon cas ça marche pas (enfin si... mais à moitié seulement) bon déjà le contexte : j'essaye de tracer mes visiteurs à des fins statistiques, pour connaitre leur parcours, leur fidélité... (un peu comme fait Xiti) donc j'ai un site ouaib X sur lequel est installé l'appli, les BdD etc... Soit un site Y audité par le site X (ben oui ... quand le site X audit le site X... ça marche ) donc sur le site Y, j'ai un javascript qui appelle le code php de mon site X lequel pose le cookie et du coup ... ça marche pas trop (j'veux dire par là que certains IE6, ça marche, d'autre pas ... et pour IE5.5 ... pareil ) j'ai essayé de dire que le cookie était posé par le domaine X ou par le domaine Y... c'est pareil j'ai essayé 2 codes CP= ça marche pas mieux j'ai essayé de poser le xml sur les deux sites bref, je me perds un peu avec toutes les options... et en plus, j'ai vidé le stock d'aspirine de la maison Si quelqu'un a réussi (ou peut m'envoyer par mp le code précis de Xiti ) ça me dépannerais beaucoup
piwaille Posté 28 Septembre 2004 Posté 28 Septembre 2004 Bonjour pas moyen de modifier le message alors de réponds... en fait j'avais un chti bug dans mon code ailleurs ... donc la conséquence était de me faire croire que le cookie ne marhait pas. En fait, il y a un truc zarbi c'est que le print_r laisse croire que le navigateur n'acceptera pas le cookie... et puis finalement le cookie est accepté et lu la fois suivante... Si vous pouviez me filer un petit conseil soit sur l'utilisation du print_r soit une autre méhode pour (bien) savoir si le cookie a été accepté Merci d'avance
genmin Posté 4 Avril 2005 Posté 4 Avril 2005 boujour à vous, moi je n'arrive pas à faire fonctionner ce script. je m'explique, j'ai un site A sur lequel j'ai un caddie, j'ai rajouter une section qui elle est sur le site B et lorsque je rajoute un article à mon caddie, il me créer un nouveau cookie car pas le meme domaine. Maintenant j'ai mis le p3p.hml sur le site A et j'ai rajouté le header(...) et setcookie(...) dans une page de mon site B. Ben maintenant j'ai plus du tout de cookie créé à partir du site B ????? si quelqu'un peu m'aider merci d'avance
Maxim Posté 21 Avril 2005 Posté 21 Avril 2005 Petit up car j'aimerai pouvoir utiliser des cookies multidomaines. 1: Déjà, l'astuce marche-t'elle mm sous firefox ? Et comment la mettre en place pour poser un cookie via php ? car j'avoue ne pas voir... 2: Peut-on poser plusieurs cookies pour differents domaines ?
echangiste Posté 26 Avril 2005 Posté 26 Avril 2005 (modifié) Merci ams51, c'est vrai trop puissant ce que tu as posté. Ca fait une semaine que je cherche. J'ai fait différents tests sous IE et sous FireFox. Il ne détruit pas la session même après fermeture du navigateur. Tout fonctionne correctement. C'est vraiment terrible C'est pour un site que j'ai créer en marque blanche, il est en C#. Dans le code behind de ma page aspx void Page_Load(object sender, EventArgs e) { Response.AddHeader("P3P", "policyref='http://lingeriesexy.marque-blanche.com/boutique/p3p.xml',CP='NON DSP COR CURa PSA PSD OUR BUS NAV STA'"); } Modifié 26 Avril 2005 par echangiste
genmin Posté 26 Avril 2005 Posté 26 Avril 2005 Est ce que quelqu'un pourrai me dire si cette astuce marche uniquement pour les ifram ou aussi pour les des sites totalement différent et avec un domaine différent? merci m'sieur dame
echangiste Posté 26 Avril 2005 Posté 26 Avril 2005 (modifié) Dans mon cas, ce sont deux sites complétement différents (donc avec des noms de domaines différents) Plus haut tu dis p3p.hml As tu essayé p3p.xml et non .html Modifié 26 Avril 2005 par echangiste
llopht Posté 26 Avril 2005 Posté 26 Avril 2005 Il reste quand même un problème de taille. Prenons l'exemple une un IFRAME dans la page : 1er Chargement de la page : j'obtiens l'ID de session 13546540 2nd Chargement de la page : j'obtiens l'ID de session 13546540 Tout fonctionne correctement ! Maintenant prenons un exemple avec 3 IFRAME dans la page : 1er Chargement de la page : IFRAME1 : j'obtiends l'ID de session 13546541 IFRAME2 : j'obtiends l'ID de session 13546542 IFRAME3 : j'obtiends l'ID de session 13546543 2nd Chargement de la page : IFRAME1 : j'obtiends l'ID de session 13546543 IFRAME2 : j'obtiends l'ID de session 13546543 IFRAME3 : j'obtiends l'ID de session 13546543 Au chargement de la second page les IFRAME obtienne l'ID de session du dernier IFRAME affiché sur la première page. L'IFRAME1 et l'IFRAME2 perdent les informations enregitré lors de la première page.... Le problème est identique sur IE sur Firefox. Quelqu'un à une explication, une solution ????? Jérôme
Rapace15 Posté 30 Mai 2005 Posté 30 Mai 2005 Pour le problème de session PHP, le problème me semble "normal". Lorsque tu lances la commande session_start();, le serveur web crée une nouvelle session à moins que tu ne lui indiques la session à utiliser. Pour palier à ce problème, avant de lancer une session_start(); récupère ton identifiant de session puis dis lui d'utiliser cette session. Dans l'exemple ci-après, l'identifiant de la session est passé dans l'URL : <?php$id =$_GET['PHPSESSID'];session_id($id);session_start();....?> Ce qui veut dire pour ton problème, chaque fichier PHP contenu dans tes I-Frames doit reprendre les lignes ci-dessus (ou alors tu passes l'identifiant de session via un cookie)
sltcoach Posté 27 Juin 2005 Posté 27 Juin 2005 Voila moi jai un gros soucis J'ai besoin de faire une commande en ligne pour un site et cette commande est en plusieur étapes : 1: Page de log du client 2: Recap des infos du client 3: Création de la commande 4: recap de la commande 5: Validation de la commande Je suis parti de ma page 1 qui envoie sur une page de verif et si le log et mdp est bon les enregistre dans $_session(nom de la variable) Puis sur chacune des mes page suivantes, j ai un include(page de verif) qui verifie qu il y a bien un log dans la session et que celui est bien dans la BDD ! Mon souci est que sous Firefox tout marche niquel je recup mes variable quand je veux et je ne suis pas obligé de faire des Get sur tout les page mais j appelle juste ma session ! Mais Sous IE rien ne marche !!!!! J explique : sur ma page 1 je rentre mon log et mdp page de verif il ne me dis rien et sur ma 3e page de recap avec mon include il me renvoi sur ma page de log ! Si je lui dis de m'ecrire mes valeur de ma session il ne me dis rien... Mais en bas de ma page j ai l'oeil rouge d'IE qui dit : RAPPORT DE CONFIDENTIALITES... Les cookies sont bloqués ! Je ne comprend pas car j envoie pas de cookie mais je fais des sessions (normalement du coté server) et je ne vois pas comment passé a travers ca meme avec ce que vous avez expliquer en XML... Je patauge vraiment et ca me prend le choux depuis deja quelques jours alors si vous avez la solution détaillé pour m'enlever ce pieux du pied ... J'en serrai tres tres tres reconnaissant Merci pour tout
Anonymus Posté 27 Juin 2005 Posté 27 Juin 2005 Bonjour, En fait, les identifiants de session sont envoyés de plusieurs manières différentes, et c'est le serveur qui choisit à défaut d'être orienté correctement. Ainsi, si tu décides d'envoyer tes id par l'url, le problème est réglé. Sinon, ca se fait soit par l'entete (jettes un oeil à l'outil du Hub permettant de visualiser les entetes renvoyées par le serveur), soit donc par les cookies. Si ton navigateur refuse les cookies, alors il n'est pas étonnant que tes sessions n'arrivent pas à suivre. Pour éviter ce problème, 2 solutions. Soit tu réactives tes cookies, soit tu fais passer l'identifiant de session par l'url. Je pencherais plutot pour la seconde solution. Elle te garantie que ton site marchera avec les autres internautes. Juste une précision : Je ne comprend pas car j envoie pas de cookie mais je fais des sessions (normalement du coté server) L'identifiant de session est bien inscrite coté serveur, avec les données inhérentes. Mais il faut bien que le serveur sache, quand tu te connecte à une page, quel identifiant t'attribuer. C'est pour cela que l'id. te suit en plus d'être sur le serveur. Anonymus.
lorik Posté 30 Juin 2005 Posté 30 Juin 2005 Bonjour, Je vais peut être dire une grosse c..., mais il me semble que ça dépend surtout du paramettrage de php pour les sessions : Si php est paramettré en 'use only cookies', et si le navigateur n'accèpte pas les cookies, les sessions ne passent pas. Mais ce n'est pas (je crois) le paramettrage par defaut de php : Normalement (si j'ai bien compris les réponses à mes propres posts ), php tente par defaut de passer les sessions par cookies, et si ça ne passe pas, il les fait passer par l'url. Ca vaut peut être le cout que tu regardes de près le parametrage de php chez ton hebergeur...
smn Posté 16 Novembre 2005 Posté 16 Novembre 2005 Bonjour, J'ai essayé tout ce qui a au dessus mais sans succès. je me permet donc de poster ma problèmatique. Voila jai un système de tracking depuis un email. Pour cela je dois insérer un code dans la page de mon site qui permet de rappeler et denregistrer le cookie issus de la lecture du mail. Le script qui permet cela est sur un domaineA tandis que le code se trouve sur le site à tracker sur le domaineB Le code ressemble à cela : <IFRAME width="1" height="1" frameborder="yes" scrolling="auto" name="iframe" SRC="http://nomdedomaineB/mail/l/get_cookie.php?web_track=1&perso=0"><ilayer SRC="http:// nomdedomaineB /mail/l/get_cookie.php?web_track=1&perso=0"></ilayer></IFRAME> Ce code est inséré sur une page se trouvant sur un nomdedomaineA Merci de votre aide ++ Stéphane
lorik Posté 24 Février 2006 Posté 24 Février 2006 A ma connaissance, Un mail ne peut pas implanter de cookie, non ? ça expliquerait que tu ne puisse pas le récuperer...
trihanhcie Posté 27 Février 2006 Posté 27 Février 2006 Bonjour, Je n'y connais strictement rien à xml et je suis débutant en php... Si qq peut m'expliquer les quelques lignes de XML qui ont été écrites, ca m'arrangerait Le but : J'ai un problème d'accès à un cookie à partir d'un autre domaine... J'ai créé un cookie à partir de mon 1e site.com et j'aimerai accéder aux informations de mon 2e site2.fr. Ca fonctionne sour firefox mais sous IE6, sauf si je mets la sécurité la plus basse, je n'arrive pas à lire les informations... Merci si votre solution peut m'aider
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant