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 :

Session et DNS


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 23
    Par défaut Session et DNS
    Bonsoir a tous.
    Je m'arrache les cheveux sur un problème.
    J'ai crée un site web http://www.monsite.com qui en fait correspond à l'adresse http://000.111.222.333.
    Ce site utilise les sessions php.
    En LAN (interne dans ma boite) aucun souci de session car on y accède par une autre IP, disons http://444.555.666.777.

    La ou tout se corse c'est par un accès externe. En effet nous avons crée notre nom de domaine http://www.monsite.com .
    Le cheminement de l'utilisateur est index.php -> /rep/index.php (qui se charge du session_start et enregistre les variables de session. Une fois arrivé sur /rep/index.php , j'ai des liens divers.

    Si l'utilisateur arrive via http://www.monsite.com, je perd la session entre /rep/index.php et la page cliquée. Ce probleme ne se produit pas si l'utilisateur saisit directement http://000.111.222.333 dans son navigateur.
    Je me doute qu'il sagit d'un probleme DNS/session mais j'avoue que je bloque.
    Y a t'il un paramètre sessions PHP a modifier avant chaque session_start ?

    Merci pour vos lumières

  2. #2
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Citation Envoyé par smazaudi Voir le message
    Le cheminement de l'utilisateur est index.php -> /rep/index.php (qui se charge du session_start et enregistre les variables de session. Une fois arrivé sur /rep/index.php , j'ai des liens divers.

    Si l'utilisateur arrive via http://www.monsite.com, je perd la session entre /rep/index.php et la page cliquée.
    Bonsoir,

    Avant tout, est-ce que dans "la page cliquée" figure aussi session_start au début de celle-ci.( ?)

    Ensuite, il y a quelque chose de pas trés clair dans tes commentaires.
    Tu précises que l'utilisateur arrive sur ton site :
    Logique, mais dans ce cas de figure, la session n'est pas encore créée et soumise, puisque le fichier chargé de lancer cette session se trouve dans le répertoire /rep/.
    Par conséquent, aucunes variables ne peuvent être enregistrées sans le passage obligé par le fichier /rep/index.php.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.monsite.com /rep/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 23
    Par défaut
    Bonjour et merci pour ta réponse.
    Dans tous les liens accessiblez à partir de /rep/index.php il y a un sessionstart au tout début de la page. En fait, si l'utilisateur clique sur un de ces liens, un autre fichier de session est crée.

    L'utilisateur arrive sur http://www.monsite.com qui est en fait une page d'accueil et qui comprend un formulaire login/mdp. Le submit pointe sur /rep/index.php si vérifie la validité de l'user et, le cas échéant lance le sessionstart si il est valide, insère les infos de session puis affiche le contenu de la page avec les liens.

  4. #4
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Ok pour ta première observation.

    On peut voir juste la partie (code) du lancement de session dans ton fichier index ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 23
    Par défaut
    Merci.
    Je viens de faire un essai avec 2 fichiers simples : 1.php et 2.php.
    J'ai exactment le même problème:

    1.php:
    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
    18
    19
    20
    21
    22
    23
     
     
    <?php
        session_start ();
        $_SESSION['CLIENT'] = ' VALEUR DU CLIENT';
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    </head>
     
    <body>
     
       <?php
          echo 'CLIENT:'.$_SESSION['CLIENT'].'<br>';
          $id = session_id();
          echo $id."<br>";
       ?>
     
       <A HREF="2.php"> Page suivante</A>
    </body>
    </html>
    2.php:
    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
    18
    19
    20
    21
     
    <?php
       session_start ();
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    </head>
     
    <body>
     
       <?php
          echo 'CLIENT:'.$_SESSION['CLIENT'].'<br>';
          $id = session_id();
          echo $id."<br>";
     
     
       ?>
    </body>
    </html>
    Si je lance depuis l'extérieur http://www.monsite.com/1.php

    Affichage de 1.php:
    CLIENT: VALEUR DU CLIENT
    uavghidnin13kv4dvchpatnbo2
    Page suivante

    Affichage de 2.php:
    CLIENT:
    5ecs50l4kcpc5hu2nmae2tr5o1

    On voit clairement qu'il y a perte de session entre les 2 fichiers.

    Si je lance depuis l'extérieur http://111.222.333.444/1.php

    Affichage de 1.php:
    CLIENT: VALEUR DU CLIENT
    uavghidnin13kv4dvchpatnbo2
    Page suivante

    Affichage de 2.php:
    CLIENT:VALEUR DU CLIENT
    uavghidnin13kv4dvchpatnbo2

    Je perd la session si je passe mar le nom de domaine.

  6. #6
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Citation Envoyé par smazaudi Voir le message
    On voit clairement qu'il y a perte de session entre les 2 fichiers.
    En effet, c'est trés étrange.
    Pourtant côté code, tout sembe cohérent.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 23
    Par défaut
    Pourtant côté code, tout sembe cohérent.
    C'est bien ça le problème !!!!!!
    EN attendant j'ai solutionné le pb en mettant une page d'accueil qui me redirige vers http://111.222.333.444 en ouvrant une nouvelle fenêtre, mais c'est pas vraiment propre. Comme j'ai 2 accès possibles sur le site, elle me fait office de "portail accès clients / accès gestionnaires".

    NB : nous avons un autre site (notre site web) hébergé sur le même serveur mais dont le nom de domaine a été défini correctement auprès de Orange. Curieusement, sur ce site je n'ai aucun souci.
    Si de l'exterieur je fais un ping http://notresite.com, le DNS choppe bien l'IP externe du serveur, par contre, si je fais un ping http://www.monsite.com, il me choppe l'IP du site a qui on a achete le nom de domaine qui lui me redirige sur notre serveur.
    Le tracert m'indique pareil.
    Je pense donc qu'il s'agit réellement d'un problème de résolution DNS sur la page d'accueil, la premiere session est générée sur l'adresse web et l'autre sur l'IP.

  8. #8
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Citation Envoyé par smazaudi Voir le message
    http://www.monsite.com[/url], il me choppe l'IP du site a qui on a achete le nom de domaine qui lui me redirige sur notre serveur.
    Oui, je ne vois que cette explication.

    Sinon, plutôt que d'ouvrir une nouvelle fenêtre, pourquoi ne pas utiliser une frame de redirection.
    Elle est discréte, pas contraignant pour l'utilisateur, et l'url d'origine ne change pas.
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <FRAMESET rows="100%,*" border=0 frameborder=0 framespacing=0>
        <FRAME SRC=" http://111.222.333.444" MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=auto noresize>
    </FRAMESET>

Discussions similaires

  1. Problème DNS et session http
    Par nezdeboeuf62 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 24/11/2008, 07h33
  2. Problème session asp.net et DNS
    Par Nixar dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/10/2008, 15h10
  3. [Sécurité] Session qui se perd, passage de DNS
    Par __fabrice dans le forum Langage
    Réponses: 1
    Dernier message: 03/07/2006, 17h18
  4. [XMLRAD] session
    Par jml dans le forum XMLRAD
    Réponses: 4
    Dernier message: 17/12/2002, 10h24

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