IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] Session dans un iframe sur ie7


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut [Cookies] Session dans un iframe sur ie7
    Bonjour,

    J'ai un questionnaire en PHP composé de 3 pages. A chaque passage de page je récupère les informations dans une session. Une fois tous les champs correctement renseignés, j'enregistre le tout dans une base.

    Tout marche très bien sur IE6, IE7 et Firefox.

    Lorsque je met les pages de ce questionnaire dans un iframe, sur le serveur où se trouve également la base de donnée, tout marche également très bien sur IE6, IE7 et Firefox.

    Le problème c'est que si j'utilise la même méthode de l'iframe sur un serveur distant, ça marche sur Firefox et IE6, mais plus sur IE7. En effet, dans ce cas, je rencontre un problème de session.

    Ma session est bien déclarée par session_start(), mais aucune variable de session ne s'enregistre.

    J'ai essayé sur différents serveurs, et j'ai toujours le meme problème.
    Y'a t-il un problème avec les sessions dans un iframe avec IE7 sur un serveur distant ?

    Merci d'avance pour votre aide.

    Funewik

  2. #2
    Invité
    Invité(e)
    Par défaut
    Apparement le problème vient du fait qu'IE7 ne garde pas le session_id. Si j'actualise ma page, le session_id de la page dans l'iframe change à chaque fois.

    Comment faire pour toujours conserver le même?

    Merci d'avance.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Salut !

    j'ai exactemment le même problème, as tu trouvé une solution depuis ?

    j'ai remarqué que si on baisse le niveau de confidentialité de ie7, ça passe...
    seulemment ce n'est pas une solution ...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    le session_id est passé dans un cookie, les paramètres de confidentialité de ie7 par default (moyenne) bloque les cookies pour les cas suivants:

    - bloque les cookies tiers qui n'ont pas de stratégie de confidentialité compacte


    - bloque les cookies tiers qui enregistrent des informations pouvant être utilisées pour vous contacter sans votre consentement explicite

    - restreint les cookies internes qui enregistrent des informations pouvant être utilisées pour vous contacter sans votre consentemment implicite

    mon raisonnement:
    En quoi le session_id est une information pouvant être utilisée pour me contacter ? Je pense évidemment que ça ne peut pas venir de là... donc par déduction seule le 1er point est possible...
    Du coup:
    => Qu'est ce qu'une stratégie de confidentialité compacte?
    => Comment en définir une ?


    Edit: Suite de mes recherches

    Afin de créer la stratégie de confidentialité il faut créer un fichier xml p3p ... je vous laisse faire des recherches pour plus d'info ...

    pour résoudre le problème rapidemment:

    creer un fichier p3p.xml et inclure ceci dedans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?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>
    puis dans inclure dans vos fichiers:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("P3P: policyref=\"http://mondomaine/chemin/p3p.xml\",CP=\"NON DSP COR CURa PSA PSD OUR BUS NAV STA\"");

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Quelqu'un a t'il réussi à mettre en place une politique P3P comme indiqué dans le dernier post ?
    Merci

  6. #6
    En attente de confirmation mail
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 314
    Points : 265
    Points
    265
    Par défaut
    C'est en effet un problème de "stratégie" mais qui il me semble n'est pas propre à IE7. J'ai aussi eu ce pb avec IE6.

    Voici le code à rajouter au début de la page appelée par iframe (Avant tout echo, print etc.)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (isset($_REQUEST['idsession'])) $session_id = $_REQUEST['idsession']; else $session_id = session_id();
     
    $nb_heures = 3;
     
    header("P3P: policyref=\"http://www.monsite.com/p3p.xml\",CP=\"NON DSP COR CURa PSA PSD OUR BUS NAV STA\"");
    setcookie("PHPSESSID",$session_id, time()+(3600*$nb_heures), "/", "monsite.com",0);
    Et voici le contenu de mon fichier p3p.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?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>
    Attention, une fois que le fichier XML a été téléchargé par le navigateur il est mis en cache. Pour tester plus d'une page appelée par iframe il faut donc bien veiller à détruire vos sessions (log out) et même redémarrer votre navigateur pour chaque page testée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Cookies] Sessions dans différents dossiers
    Par Babacooll dans le forum Langage
    Réponses: 4
    Dernier message: 03/09/2007, 11h20
  2. Appel d'une fonction dans une iframe sur un autre domaine
    Par morikann dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/06/2007, 18h46
  3. SAFARI ne reconnait pas la session dans un iframe
    Par hpmousse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 17/05/2007, 22h17
  4. [Cookies] stocker le nom de la session dans un cookie
    Par agencep dans le forum Langage
    Réponses: 10
    Dernier message: 23/02/2006, 15h18
  5. Entrer dans une session sans devoir cliquer sur ok au demarr
    Par beegees dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 22/12/2005, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo