Aller au contenu
ams51

Cookies et stratégie de confidentialité

Noter ce sujet :

Recommended Posts

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 ??

Partager ce message


Lien à poster
Partager sur d’autres sites

Beaucoup de paramètres (tous) peuvent etre passés hors cookies.

Qu'entends tu par "stratégie compacte" ?

Anonymus.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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" :up:

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :D

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :huh:

Edit : pour le contenu du xml il n'y a rien à modifier... Tu fais un C/C et ça fonctionne.

Modifié par ams51

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :P

<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

Partager ce message


Lien à poster
Partager sur d’autres sites

'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 :whistling: ) mais dans mon cas ça marche pas :angry: (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 :blink: )

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 :wacko:

Si quelqu'un a réussi (ou peut m'envoyer par mp le code précis de Xiti :rolleyes: ) ça me dépannerais beaucoup :up:

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ????? :fou:

si quelqu'un peu m'aider merci d'avance :wacko:

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par echangiste

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par echangiste

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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...

Partager ce message


Lien à poster
Partager sur d’autres sites

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=&quot;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

Partager ce message


Lien à poster
Partager sur d’autres sites

A ma connaissance, Un mail ne peut pas implanter de cookie, non ? ça expliquerait que tu ne puisse pas le récuperer...

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :D

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×