8791 sujets

Développement web côté serveur, CMS

Salut à vous !

Imaginons que j'ai 3 sous-domaines :
- www1.local.domain.com
- www2.local.domain.com
- www3.local.domain.com

Il faut que mon cookie de session ainsi que mes variables de session soient accessibles sur les 2ers sous-domaines (www1 et www2). Du coup, le domaine de mes cookies, lorsque je suis sur www1 et sur www2, vaut ".local.domain.com".

Le 3ème sous-domaine doit avoir son propre cookie de session et ses propres variables de session. Le domaine de mes cookies, lorsque je suis sur www3, vaut "www3.local.domain.com".

Le soucis ? si le cookie de session ".local.domain.com" existe alors le 3ème sous-domaine (www3) ne va pas créer son cookie de session "www3.local.domain.com" et il va utiliser celui-là : ".local.domain.com".

Comment faire pour que le 3ème sous-domaine crée toujours son propre cookie de session lié à son propre sous-domaine ?

Merci d'avance pour votre aide !
Modifié par Alphonse (17 Sep 2008 - 15:09)
Hello Alphonse,

je vois que tu as passé ton problème en [résolu]. Peut-être que tu pourrais nous faire profiter de la solution ? Smiley cligne
Je dois encore effectuer quelques tests mais visiblement -au niveau de la définition du domaine pour les cookies du 3ème sous-domaine- au lieu de mettre "www3.local.domain.com", j'ai mis ceci ".www3.local.domain.com".

Autrement dit, j'ai juste rajouté un point.

Mais comme je l'ai dit, je dois encore effectuer quelques tests.
En fait non, le problème n'est pas totalement résolu.

Si je vide mes cookies et que je me connecte sur mon 3ème sous-domaine et ensuite je me connecte sur mon 1er sous-domaine alors tout va bien.

Si, après avoir supprimé mes cookies, je me connecte d'abord au 1er sous-domaine et ensuite au 3ème sous-domaine alors le 3ème sous-domaine utilise le cookie de session du 1er sous-domaine !

Bref, c'est la m*rde Smiley cligne
Oui, je travaille avec le "domaine" mais pas avec le "chemin".

Attention que le cookie de session est créé avec la fonction "session_start()" donc j'imagine que tu définis le chemin avec l'une des deux fonctions suivantes : "session_set_cookie_params()" ou "session_save_path()" ?
Arf ! Désolé je n'avais pas fait attention au fait que tu parlais de cookies de sessions Smiley langue !

Peut-être que tu pourrais plutôt donner un nom spécifique (par défaut PHPSESSID) à ta session sur le 3ème sous-domaine.

Par exemple :
<?php
session_name('WWW3SESSID');
session_start();
...
Excellente idée et ça a l'air de fonctionner ! Je mettrais le sujet à [Résolu] dès que j'aurai, à nouveau, effectuer divers tests.

Merci Smiley cligne