Session et domaine

Session et domaine - PHP - Programmation

Marsh Posté le 05-08-2004 à 11:23:53    

Salut à tous,
 
Voila en fait mon problème est simple mais je n'arrive pas à y trouver de solution.
 
Une session est crée dans le domaine forum.xxx.com et des variables sont enregistrées.
 
Je veux ensuite récupérer ces variables sur des pages qui sont sur le domaine www.xxx.com.
 
Mais là ça ne marche pas puisque les 2 sessions sont différentes...
 
Qq'un a une idée ?

Reply

Marsh Posté le 05-08-2004 à 11:23:53   

Reply

Marsh Posté le 05-08-2004 à 12:14:58    

le domaine n'est pas juste la partie xxx.com ?

Reply

Marsh Posté le 05-08-2004 à 12:17:10    

Quand je liste le contenu de la session dans www.xxx.com et dans forum.xxx.com les resultats sont différents

Reply

Marsh Posté le 05-08-2004 à 12:18:04    

Tes fichiers de sessions ne sont pas créé au meme endroit pour les 2 sites ? Tu as 2 hebergeurs differents ? Où alors il créé 2 fichiers de sessions dans le meme dossier, pour la meme personne ?

Reply

Marsh Posté le 05-08-2004 à 12:19:51    

l'hébergeur est le même. Mais pour les 2 sous domaines j'ai des fichiers de sessions différents apparement

Reply

Marsh Posté le 05-08-2004 à 12:20:52    

sur les 2 pages d'accueil de ton www.xxx.com et de ton forum.xxx.com ecrit ça :
 
echo session_save_path();
 
Ca te permettera de voir où sont stockés les sessions, pour voir si le dossier est le meme pour les 2...

Reply

Marsh Posté le 05-08-2004 à 12:39:14    

oui tt est ds le mm rep : /tmp

Reply

Marsh Posté le 05-08-2004 à 12:48:04    

Je ne sais pas exactement comment fonctionne les sessions ... mais si je comprends bien, forum.xxx.com et www.xxx.com sont hebergés au même endroit ... et pourtant 2 sessions sont créées pour le même utilisateur ?
 
Bizarre.
 
Personne d'autre ?

Reply

Marsh Posté le 06-08-2004 à 02:13:22    

je ne peux guère vous renseigner davantage, mais le jour où j'ai dû passer des variables d'un site à l'autre, j'ai utilisé bêtement une requête du type http://site2/page.php?var1=varsessionsite1 et ça marchait très bien.
dans un cas particulier de données sensibles j'ai installé une fonction crypte sur site1 et decrypte sur site2 maison pour éviter que le passage de variables soit visible.
 
sinon je pense que si les deux sessions sont vraiment dans le même répertoire, tu peux générer un identifiant de session et le transmettre par l'url.
 
pour finir, je profite de ma modeste intervention, certes peu lumineuse, pour rendre un dernier hommage à allopassxp qui vient d'être retrouvé pendu dans la soirée (avec un câble ethernet croisé).
L'enquête s'annonce longue et difficile: les enquêteurs ont retrouvé inscrit sur sa machine la mention "forum hardware.fr m'a tué" mais sont réservés sur l'authenticité du message. Non qu'il s'agisse se l'absence de faute d'orthographe ou de néologisme dans la formule, mais celle-ci ne comportait pas la moindre majuscule. De surcroît un analyseur dactylographique démontre qu'elle a été écrite en 27 secondes. Je ne vous donnerai pas davantage de précision pour ne pas connaître le même sort (j'entends l'intolérable cruauté des modérateurs de ce forum) que le regretté 3615NT.
 
sur ce, bonsoir chez vous.

Reply

Marsh Posté le 06-08-2004 à 08:21:01    

grys a écrit :

pour finir, je profite de ma modeste intervention, certes peu lumineuse, pour rendre un dernier hommage à allopassxp qui vient d'être retrouvé pendu dans la soirée (avec un câble ethernet croisé).
L'enquête s'annonce longue et difficile: les enquêteurs ont retrouvé inscrit sur sa machine la mention "forum hardware.fr m'a tué" mais sont réservés sur l'authenticité du message. Non qu'il s'agisse se l'absence de faute d'orthographe ou de néologisme dans la formule, mais celle-ci ne comportait pas la moindre majuscule. De surcroît un analyseur dactylographique démontre qu'elle a été écrite en 27 secondes. Je ne vous donnerai pas davantage de précision pour ne pas connaître le même sort (j'entends l'intolérable cruauté des modérateurs de ce forum) que le regretté 3615NT.


 
:lol:

Reply

Marsh Posté le 06-08-2004 à 08:21:01   

Reply

Marsh Posté le 06-08-2004 à 09:17:12    

:lol:

Reply

Marsh Posté le 06-08-2004 à 13:49:41    

question bete, le repertoire /tmp cité dans les deux cas se trouve-t il bien au meme endroit ? les deux parties du site sont-elles dans le meme chroot ?

Reply

Marsh Posté le 06-08-2004 à 13:56:28    

grys a écrit :


pour finir, je profite de ma modeste intervention, certes peu lumineuse, pour rendre un dernier hommage à allopassxp qui vient d'être retrouvé pendu dans la soirée (avec un câble ethernet croisé).
L'enquête s'annonce longue et difficile: les enquêteurs ont retrouvé inscrit sur sa machine la mention "forum hardware.fr m'a tué" mais sont réservés sur l'authenticité du message. Non qu'il s'agisse se l'absence de faute d'orthographe ou de néologisme dans la formule, mais celle-ci ne comportait pas la moindre majuscule. De surcroît un analyseur dactylographique démontre qu'elle a été écrite en 27 secondes. Je ne vous donnerai pas davantage de précision pour ne pas connaître le même sort (j'entends l'intolérable cruauté des modérateurs de ce forum) que le regretté 3615NT.


[:ban]

Reply

Marsh Posté le 06-08-2004 à 14:59:40    

oui tt a la mm racine

Reply

Marsh Posté le 06-08-2004 à 15:08:43    

erf :(

Reply

Marsh Posté le 06-08-2004 à 15:10:33    

C'est pas grave j'ai réussi a finter en passant les sessions en paramètres. Maintenant j'ai plus qu'à sécuriser ça :/

Reply

Marsh Posté le 06-08-2004 à 15:10:41    

ton pb vient sans doute de ce que le navigateur envoie un cookie de session différent pour www.site.com et ssdom.site.com, tu dois pouvoir forcer à reprendre la bonne session avec session_id()

Reply

Marsh Posté le 06-08-2004 à 15:30:02    

oui mais comment connaitre l'id de la session a reprendre ?

Reply

Marsh Posté le 06-08-2004 à 15:58:43    


dans le site 1 tu places un truc du style:
session_start();
ids=session_id();
et des liens du type site2/page.php?ids=<? echo $ids ?>
 
et dans la page d'arrivée la manip inverse
 
$ids=$_GET['ids'];
session_id($ids);
session_start();

Reply

Marsh Posté le 06-08-2004 à 16:01:32    

J'avais utilisé cette solution mais je risque pas des probs avec le fait que la session soit activée sur un paramètre passé en GET ?

Reply

Marsh Posté le 06-08-2004 à 16:18:37    

je ne pense pas, de toute façon c'est tjrs comme ça que sont gérées les sessions pour les clients qui n'acceptent pas les cookies de sessions.  en gros tu as un risque sur des milliards de millions que le visiteur récupère la session d'un autre s'il s'amuse à modifier à la main le GET.

Reply

Marsh Posté le 06-08-2004 à 16:19:32    

:/ ok je vais voir pour améliorer le truc mais bon ça fé chier y pourraient permettre de faire des sessions multi-domaines :o

Reply

Marsh Posté le 06-08-2004 à 16:32:59    

ben en fait j'ai fait un peu ce que j'avais au départ sauf que j'ai un peu simplifié.
 
En fait lorsque l'on se loggue sur le forum un cookie multi-domaine contenant l'id de session du forum est enregistré.
 
Une fois arrivé sur le site j'utilise cette valeur pour faire mes différentes opérations. Ca a l'avantage d'éviter de tenter les malin de récupérer l'id de session en le voyant passer dans une URL :d
 
Bien entendu lorsque l'on se délogue du forum, le cookie est supprimé


Message édité par ze-angel le 06-08-2004 à 16:33:30
Reply

Marsh Posté le 06-08-2004 à 16:52:34    

oui mais si le client n'accepte pas les cookies???
je t'assure il y a des milliards de fois plus de risques de se faire piquer une ressource à code type recharge de carte téléphone mobile qu'un identifiant de session.

Reply

Marsh Posté le 06-08-2004 à 17:04:12    

le probleme de l id session passée en get est si un utilisateur x donne une url a un utilisateur y alors meme k il n'a pas fermé sa session, l'utilisateur y a accés a tout le site comme s'il était loggué.
du moins il me semble.
Cela peut etre un inconvenient qu'il faut envisager en fonction du niveau de sécurité requis sur le site.

Reply

Marsh Posté le 06-08-2004 à 17:15:09    

oui c'est vrai, la seule manière de remédier à ça est d'obliger les utilisateurs à accepter les cookies de session.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed