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 :

Perte identification avec Internet Explorer [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut Perte identification avec Internet Explorer
    Bonjour,

    J'ai un souci avec les sessions, je pense...
    J'ai un site web sur lequel j'ai un formulaire d'identification qui utilise une session PHP et donc un cookie.
    Lorsque je m'identifie en utilsant un moteur gecko (firefox, flock, etc.) et qu'ensuite je rafraîchis la page je n'ai aucun problème, par contre avec ie ou moteur ie, après le rafraîchissement je suis déconnecté.

    Après plusieurs recherches j'ai vu qu'il y avait un souci avec P3P (privacy policy), mais cela ne change rien malgré tout, à moins que je me sois planté...

    Si vous avez des réponses ou des pistes, ce serait cool !
    Merci

  2. #2
    Membre régulier
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2008
    Messages : 71
    Points : 117
    Points
    117
    Par défaut
    Queston bête : Les cookies sont-ils bien activés dans IE ?

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par laurent3170 Voir le message
    Bonjour,
    J'ai un souci avec les sessions, je pense...
    ..........
    Si vous avez des réponses ou des pistes, ce serait cool !
    Merci
    Bonsoir,
    avec les versions 7 et 8 de IE la protection existe si les cookies servent a d'autres fin qu'un simple cookies de session, ou de données.
    par exemple cookies venant d'Iframe !

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    merci pour vos réponses.
    Oui les cookies sont activés car s'ils ne le sont pas mon site renvoie vers une page indiquant qu'ils doivent être activés. J'ai essayé en abaissant le niveau de confidentialité de IE, mais le résultat est le même.

    De plus l'identification marche puisque je suis reconnu, c'est seulement sur rafraichissement ou sur utilisation des boutons précédent/suivant.

    Par ailleurs le cookie est juste un cookie de session qui ne stocke rien et sert juste à faire le lien, donc pas de iframes ou autres...

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par laurent3170 Voir le message
    Bonjour,
    merci pour vos réponses.
    Oui les cookies sont activés car s'ils ne le sont pas mon site renvoie vers une page indiquant qu'ils doivent être activés. J'ai essayé en abaissant le niveau de confidentialité de IE, mais le résultat est le même.
    De plus l'identification marche puisque je suis reconnu, c'est seulement sur rafraichissement ou sur utilisation des boutons précédent/suivant.
    Par ailleurs le cookie est juste un cookie de session qui ne stocke rien et sert juste à faire le lien, donc pas de iframes ou autres...
    Cela ne fait pas de doutes, il est indispensable que tu regardes ton code PHP,
    du reste je me demandes si tu ne fermes pas tes sessions de page en page ?
    c' est quoi "faire le lien" ?

    Donnes l 'URL du site, ou le codes de début du PHP

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Merci.
    "Faire le lien", c'est juste pour exprimer ce que fait le cookie de session, il établit un lien entre le navigateur et le serveur.

    Je ne comprends pas ce que tu appelles "fermer les sessions de page en page" ?
    J'ouvre la session au début de l'appel de la page, avant tout autre action d'affichage, et une fois que toute la page est traitée, chargée et envoyée, de fait, la session est fermée. Jusqu'à ce qu'elle soit ré-ouverte par un autre appel de page.

    Il est impossible de donner le code car il est séparé en plein de petits bouts.
    De plus cela ne doit pas provenir du PHP puisque cela fonctionne avec les navigateurs basés sur Gecko ou Opera...

  7. #7
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par laurent3170 Voir le message
    Merci.
    Il est impossible de donner le code car il est séparé en plein de petits bouts.
    De plus cela ne doit pas provenir du PHP puisque cela fonctionne avec les navigateurs basés sur Gecko ou Opera...
    Ah non, le fait que d'autres navigateurs gardent le cookies de session, ne veut pas dire que celle-ci est bien gérée.

    Tu as raison, il y a surement plein de petit bout de $_session dans tes PHP,
    mais ce qui m'intéresses, est

    1) y at'il en haut de TOUT tes PHP strictement en premiére ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php
    session_start();
    même si la page n'utilise aucune variable de la session.

    2) Aucun des PHP ou autres fichier devant étre include n'a cette instruction

    3) Aucun ordre de session autre que des mouvement de variables de session n'existe. clear close autre ...

    4) A aucun moment tu ne désigne ou ne touches l'ID de session !!

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    En fait, la gestion n'est pas aussi simple...

    Je fais d'abord un include de mes fichiers de fonctions, procédures, etc., puis en fonction de la page, des droits, etc. je fais appel à mon ouverture de session qui est centralisée et donc unique, après avoir vérifié qu'il s'agit bien d'un navigateur et non d'un robot et, enfin, je vérifie enfin que le cookie de session est présent sinon j'en envoie un pour détecter si l'utilisateur les accepte ou non.
    Puis... si tout est bon je définis le chemin de sauvegarde via session_save_path() et enfin je lance session_start(); Je ne modifie pas l'id généré et laisse php s'en occuper.

    Pour ce qui est des petits bouts de $_SESSION oui j'en ai quelques uns mais qui servent juste à récupérer les valeurs du tableau de session, comme pour $_GET ou $_REQUEST.

    En tout dernier lieu, si les données de session ne correspondent pas avec l'id de session reçu via le cookie, je shoote la session et en crée une autre.

    L'adresse du site est http://www.marredesradars.fr/, mais cela nécessite de créer un compte... qui pour l'instant ne sert à rien puisque les fonctionnalités de forum ne sont pas encore en place.

    Merci

  9. #9
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par laurent3170 Voir le message
    En fait, la gestion n'est pas aussi simple...
    Je fais d'abord un include de mes fichiers de fonctions, procédures, etc., puis en fonction de la page, des droits, etc. je fais appel à mon ouverture de session qui est centralisée et donc unique, après avoir vérifié qu'il s'agit bien d'un navigateur et non d'un robot et, enfin, je vérifie enfin que le cookie de session est présent sinon j'en envoie un pour détecter si l'utilisateur les accepte ou non.
    Puis... si tout est bon je définis le chemin de sauvegarde via session_save_path() et enfin je lance session_start(); Je ne modifie pas l'id généré et laisse php s'en occuper.

    Pour ce qui est des petits bouts de $_SESSION oui j'en ai quelques uns mais qui servent juste à récupérer les valeurs du tableau de session, comme pour $_GET ou $_REQUEST.

    En tout dernier lieu, si les données de session ne correspondent pas avec l'id de session reçu via le cookie, je shoote la session et en crée une autre.

    L'adresse du site est http://www.marredesradars.fr/, mais cela nécessite de créer un compte... qui pour l'instant ne sert à rien puisque les fonctionnalités de forum ne sont pas encore en place.

    Merci
    C 'est bien ce que j'avais deviné, alors ce que tu décris c 'est exactement ce qu'il faut éviter.
    surtout quand tu dis

    En tout dernier lieu, si les données de session ne correspondent pas avec l'id de session reçu via le cookie, je shoote la session et en crée une autre.
    Alors je dirais que IE a raison et les autres sont mal protégés

    En prime tes robots ils s'en moquent, alors pourquoi les traiter a part !

    Bref ton "usine a gaz" ça marche a force de t'étre tordu les méninges, mais ça n'en valait pas la peine

    Je le répétes ça confirme que c'est le code pHP , pas le navigateur ... qui plombe

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Ce serait bien la première fois qu'IE surpasse FF !!! Parce que sur tout le reste il se fait balader et crois-moi, avant j'étais à fond MS, mais plus depuis que j'ai découvert PHP, Ooo, FF etc.

    Pour ce qui est des robots, malheureusement ils ne s'en foutent pas du cookie, surtout les robots d'indexation, ils zappent la page si ça nécessite un cookie.

    Le coup du "shoot de session", c'est ce qui s'appelle éviter une faille de sécurité, car il est tout à fait possible d'usurper l'identifiant de session (même si c'est compliqué), mais pas le contenu de la session puisqu'elle est sur le serveur. Donc, en s'assurant que l'id de session renvoie à une session contenant des données incluses lors de son initialisation on évite ce problème de sécurité.

    Ceci étant, ce n'est pas ce que j'appelle une "usine à gaz" mais un système de gestion multi-sites, multilingue, qui effectivement est compliqué...

    En tout cas, cela ne résout pas mon problème, car Gecko + Opera fonctionnent, mais pas IE, il est donc difficile de déboguer dans ces conditions...

    Merci pour tes réponses

  11. #11
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par laurent3170 Voir le message
    Merci pour tes réponses
    J' ais fais ce que j'ais pu , par contre

    Ce serait bien la première fois qu'IE surpasse FF
    C 'est la mode sur tout les forums, et alors il n'y a plus que Coluche pour me sauver la mise ...
    Ce n' est pas parcequ' ils sont nombreux a avoir tort qu' ils ont raison
    Mais ce qui me rassure c'est quand je lis
    avant j'étais à fond MS, mais plus depuis que j'ai découvert PHP
    PHP c'est coté serveur, il ne fait que fabriquer le HTML que reçoit le navigateur

    Enfin pour avoir décortiqué ce fameux HTML reçu sur mon IE7 (ou 8)
    j'ais vu une pluie de seesions googles qui doivent pas arranger notre affaire

    Bon je vais pas critiquer,car ton site est "propre" trés peut d'erreurs (8 ce qui est correcte) du reste du détail c'est surtout les
    center a remplacer par des p align="center"

    http://validator.w3.org/check?uri=ht...Inline&group=0

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Enfin pour avoir décortiqué ce fameux HTML reçu sur mon IE7 (ou 8)
    j'ais vu une pluie de seesions googles qui doivent pas arranger notre affaire
    Oui effectivement, les sessions google ont peut être quelque chose à voir... Mais comment y faire quelque chose... et surtout je ne devrais pas être le seul dans ce cas.

    Merci d'avoir passé mon site au validator, je m'en vais corriger ces dernières erreurs...
    En passant, il existe un plug-in pour FF qui permet de vérifier en local les erreurs, ce que je n'ai pas bien fait apparemment .

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Je n'ai toujours pas trouvé de solution...
    En plus, cela marche aussi sur Safari.

    Donc, Gecko, Opera, Safari = Ok
    et
    IE = Pas Ok

    Je ne vois pas vraiment pas en quoi "mon" HTML peut être mauvais, si quelqu'un à une piste... Merci !

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    En fait cela semble venir du fait que le cookie n'est tout simplement pas enregistré !
    Je retrouve (dans les fichiers temporaires) les cookies de google, mais pas le cookie de session, ni ceux que j'installe manuellement.
    Ce serait donc pour cela que la session serait perdue, puisqu'à chaque rafraîchissement ou retour en arrière la requête est faite sans envoyer le cookie. Le serveur ne peut donc pas l'identifier...

    Mon problème maintenant est donc de pouvoir enregistrer un cookie pour IE 6/7/8... Car avec les autres tout fonctionne bien !

    Merci de votre aide !

  15. #15
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Est ce qu'il y a un underscore "_" dans l'url du sous domaine de ton adresse ?

    Il y a un bug dans IE qui empêche l'enregistrement des cookies lorsque le sous domaine contient un underscore
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  16. #16
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Seb33300 Voir le message
    Est ce qu'il y a un underscore "_" dans l'url du sous domaine de ton adresse ?
    Il y a un bug dans IE qui empêche l'enregistrement des cookies lorsque le sous domaine contient un underscore
    Super merci, je ne conaissais pas cette faille !
    bon a savoir

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Ben non... J'avais déjà vu ça...
    Mais même en "localhost" cela ne fonctionne pas...

    Merci pour la piste.

    Edit - En fait, je viens de vérifier... au cas où...
    Sur le serveur, il y a un répertoire qui contient un underscore. J'ai supprimé l'underscore, mais aucun changement... Le cookie n'est toujours pas sauvegardé dans les fichier temporaires....

  18. #18
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par laurent3170 Voir le message
    Ben non... J'avais déjà vu ça...
    Mais même en "localhost" cela ne fonctionne pas...
    Merci pour la piste.
    Edit - En fait, je viens de vérifier... au cas où...
    Sur le serveur, il y a un répertoire qui contient un underscore. J'ai supprimé l'underscore, mais aucun changement... Le cookie n'est toujours pas sauvegardé dans les fichier temporaires....
    Je penses que tu utilises genre easyphp
    alors inutile de poursuivre puisque tu ne crois pas que c'est ton php de session qui est en cause.

    Tu comprends bien que tu obtient en local une possibilitée de session par site déclaré dans tes fichiers de configuration.
    Et que cela marche toujours.

    Alors pourquoi pas sur ce site, ci ce n'est une petite erreur cachée dans tes php de ce site

    Tu as forcément inclus sans le voir une exclusion IE car sur les sessions je n'ais jamais lu, ou vu de différence entre les navigateurs

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    merci de continuer de t'intéresser à mon problème.

    J'utilise Wamp, effectivement.
    Je n'ai pas dit que ce n'est pas mon PHP qui est en cause, j'ai juste dit que c'était bizzarre que cela fonctionne sur 3 gros navigateurs et pas le quatrième...
    Puisque PHP renverra le même résultat.

    Par contre effectivement, j'ouvre une session si le navigateur n'est pas un robot, mais j'ai vérifié et MSIE est bien reconnu et la session est normalement ouverte. Le seul truc, c'est que le cookie ne persiste pas... Il est posé puis lorsque je rafraîchis la page, on recommence à zéro...

    Par contre je ne comprends pas
    Tu comprends bien que tu obtient en local une possibilitée de session par site déclaré dans tes fichiers de configuration.
    Et que cela marche toujours.
    Je n'ai rien changé dans les fichiers de configuration. Pourrais-tu m'expliquer un peu mieux ?

    Merci
    Laurent

    edit - P.S J'ai le même résultat en local (localhost) ou en production sur le serveur réel.

  20. #20
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par laurent3170 Voir le message
    Bonjour,
    merci de continuer de t'intéresser à mon problème.

    J'utilise Wamp,
    Par contre je ne comprends pas
    Tu comprends bien que tu obtient en local une possibilitée de session par site déclaré dans tes fichiers de configuration.
    Et que cela marche toujours.
    Oui c' est la régle mais j'utilises easyphp et connais mal Wamp
    ça devrait étre du même genre, dans mon httpd.conf

    Je dois créer mes noms de domaine comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Alias "/the_world" "c:/jpbhtml/1 web chess world/"
    <Directory "c:/jpbhtml/1 web chess world">
    Options Indexes FollowSymLinks Includes
    AllowOverride All
    #Order allow,deny
    Allow from all
    </Directory>
     
    Alias "/peuple_desert" "c:/jpbhtml/1 web peuple_desert/"
    <Directory "c:/jpbhtml/1 web peuple_desert">
    Options Indexes FollowSymLinks Includes
    AllowOverride All
    #Order allow,deny
    Allow from all
    </Directory>
    //====== ETC...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Toutes versions] Interaction avec Internet Explorer --> perte de variable IE
    Par damsmut dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 26/01/2014, 16h13
  2. Forcer une page à s'ouvrir avec Internet Explorer
    Par alexbubs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 31/10/2005, 10h32
  3. Truc mystique avec internet explorer
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/08/2005, 12h25
  4. Pb avec Internet explorer
    Par wareq dans le forum IE
    Réponses: 31
    Dernier message: 28/04/2005, 17h33
  5. [W3C] pb avec Internet Explorer
    Par magic8392 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/03/2005, 15h02

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