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 :

Ouverture session sous domaines


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut Ouverture session sous domaines
    Bonjour, je suis entrain de créer un site d'hébergement de blog

    J'ai donc une adresse de site en http://www.monsite.com qui ouvre mes sessions normalement et sa marche nickel mais j'ai aussi une adresse de blog, en http://pseudo.monsite.com qui donne vers le chemin /home/monsite/sd/blog/www/ et je n’arrive pas à récupérer les sessions comme ce n’est pas la même racine du site comment je peux faire pour récupérer les sessions ?

  2. #2
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    Par défaut
    ....... et j'arrive pas a récupérer les sessions comme c'est pas la même racine du site...
    Bonsoir
    Les navigateurs exploitent les variables de session mises à disposition sur un serveur, ou racine si tu préfères.

    Tu ne peux pas récupérer des variables de sessions émises par un serveur, depuis un autre serveur.

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    c'est le même serveur mais dans un dossier différent

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Redéfinissez, par un moyen ou un autre, session.cookie_domain à valeur .monsite.com (ini_set comme à niveau supérieur ou bien via la fonction session_set_cookie_params - avant session_start).

    Ainsi, le cookie de session ayant pour fonction de propager l'identifiant de session, serait valable pour tout sous-domaine et permettrait de récupérer la même session.

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    Et je le mets sur la page index des sous domaine ou sur l'accueil du site ?

    Je précise bien les blogs sont :

    /home/monsite/sd/blog/
    et le site en lui même

    /home/monsite/www

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    C’est bon ça marche merci beaucoup

    Pour ceux qui on le même problème le code est à mettre la page index des sous domaines et le code est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?
    session_set_cookie_params(0,'/','.monsite.com');
    session_start();
    Merci à tous

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Ce paramètre doit être modifié pour toute ouverture de session (ie avant chaque session_start) sinon, pas de récupération et PHP va en attribuer une autre totalement indépendante.

    Ca dépend qui doit précisément être impacté ou non, mais au minimum un .htaccess (en admettant que ce soit possible - situé en racine de chaque sous-domaine) serait sans doute plus simple pour le rendre effectif à moindre peine.
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    php_value session.cookie_domain .monsite.com
    (encore que ça dépende comment est géré le démarrage de session, s'il est réalisé par une unique inclusion, la fonction session_set_cookie_params est bien évidemment aisée à mettre en place)

    Edit : grillé, le temps de rédiger cette réponse

  8. #8
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    Par défaut
    Je precise bien les blogs sont :

    /home/monsite/sd/blog/

    et le site en lui meme
    /home/monsite/www
    Et tu n'as pas cette possibilité suivante ? :

    /home/monsite/www
    et
    /home/monsite/www/sd/blog/

    Cela simplifierait les choses, et de cette façon tes variables de sessions seraient accessibles dans les 2 cas.

    Je ne pige pas trop pourquoi sd/blog/ ne se situe pas à la racine du site www.

  9. #9
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    Par défaut
    Enfin bref.
    Cela semble réglé.
    Désolé pour la dernière remarque

    Edit : Idem...grillé lol

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par alain31tl Voir le message
    Cela simplifierait les choses, et de cette façon tes variables de sessions seraient accessibles dans les 2 cas.
    Ca ne changerait strictement rien à la situation si on y accède avec des sous-domaines différents. On aurait toujours un cookie de session pour chaque sous-domaine et, par conséquent, une session différente pour chacun d'eux.

  11. #11
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    Par défaut
    Citation Envoyé par julp Voir le message
    Ca ne changerait strictement rien à la situation si on y accède avec des sous-domaines différents. On aurait toujours un cookie de session pour chaque sous-domaine et, par conséquent, une session différente pour chacun d'eux.
    Ok !
    Mais perso je n'utilise pas ou peu les cookie de session...enfin d'ordinaire.
    Mais purement et exclusivement les variables de sessions.
    ....et accessibles uniquement sur le serveur (www) via le navigateur.
    Il y a une nuance entre les 2 il me semble.

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par alain31tl Voir le message
    Mais perso je n'utilise pas ou peu les cookie de session...enfin d'ordinaire.
    Euh, il n'y a que deux méthodes, à la base, de propagation de l'identifiant de session :
    1. le cookie
    2. la réécriture par session.use_trans_sid, déconseillé, puisque l'identifiant apparaît notamment dans l'URL

    On en utilise forcément une des deux (suivant la configuration du serveur), à moins de le gérer soi-même, sinon nous ne récupérerions pas notre session d'un script à l'autre.

    Les variables de session, contenu de la session, ne peuvent être retrouvées que si justement nous récupérons bien la session qui nous a précédemment été attribuée.

  13. #13
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    Par défaut
    ...Euh, il n'y a que deux méthodes, à la base, de propagation de l'identifiant de session...

    Euh...En effet, 2, c'est ce que j'ai dit aussi.
    A la différence que :
    $_SESSION = serveur
    $_COOKIE = poste utilisateur
    On est bien d'accord ?
    Dans le sujet abordé, il était question de variables de session associé à un x serveur.

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Je ne comprends pas où vous voulez en venir. Reprenez un article sur les sessions ou même la documentation, il est bien question de cookie mais pas pour y stocker les données de la session, qui résident sur le serveur, mais seulement l'identifiant (un hash) de celle-ci. Il faut bien, par un moyen ou un autre, que PHP (ou même un autre langage, la question reste parfaitement identique) puisse vous réassocier celle qu'il vous a créé et qui contient vos éventuelles données. La méthode du session.use_trans_sid c'est vraiment en dernier recours et dans le but d'être le plus accessible possible avec ce que ça implique ...

    Si vous n'êtes pas convaincu, consulter vos cookies ou essayez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start(); // pas nécessaire si fait avant ...
    if (isset($_COOKIE[session_name()])) { // ... sinon nécessitera un rechargement de la page
        var_dump($_COOKIE[session_name()]);
    }
    (avec au moins session.use_cookies à on et un client gérant/acceptant les cookies)

    Et, comme je le disais, la condition à la récupération des variables, c'est l'usage d'une même et unique session (ie même identifiant, transmis par le client sous réserve, entre temps, qu'elle n'est pas expirée et en admettant le GC immédiat). Vous adoptez le point de vue d'un développeur PHP (j'ai et utilise mes variables $_SESSION qui sont peuplées automatiquement) sans avoir conscience du fonctionnement en amont et sous-jacent, j'ai l'impression (mais je me trompe peut être ).

    PS : désolé, pour le pourrissage du sujet ²

  15. #15
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    Par défaut
    Où je veux en venir ?
    Citation Envoyé par toulousain3117 Voir le message
    .... et j'arrive pas a récuperer les sessions comme c'est pas la meme racine du site.....
    Il est bien question de variables stockées sur le serveur (www) et ma réponse allait dans ce sens.
    A l'inverse ( cookie utilisateur), la requête/problème était mal formulée ci-dessus et ma réponse aurait pu être orientée différemment...en espérant que vous en conviendrez.

    Faut pas me jeter la pierre Monsieur le Rédacteur.
    Désolé aussi pour le pourrissage du sujet.

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

Discussions similaires

  1. [PHP 5.3] session, sous domaine et chrome
    Par aicou dans le forum Langage
    Réponses: 0
    Dernier message: 09/06/2011, 10h47
  2. ouverture session sous oracle forms
    Par feuzfatou dans le forum Forms
    Réponses: 2
    Dernier message: 29/05/2007, 12h12
  3. [Cookies] Session et sous-domaines
    Par davmaster62 dans le forum Langage
    Réponses: 14
    Dernier message: 23/03/2006, 09h12
  4. Probléme d'ouverture de session sous Windows 2000 server
    Par Orameur dans le forum Windows XP
    Réponses: 1
    Dernier message: 25/02/2006, 19h15
  5. [Sécurité] SESSION et sous-domaine
    Par Kael dans le forum Langage
    Réponses: 11
    Dernier message: 13/02/2006, 14h31

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