Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

partage de session entre 2 domaines...

3 réponses
Avatar
hd
Cela fait quelques heures que je suis bloqué sur un problème... J'espère
que certains d'entre-vous auront la réponse ;-)

En fait mon probleme est que mes sessions semblent crééent 2 fois, la
première fois avec les infos de sessions correctes, la seconde fois le
fichier de session est vide.

Dans une page http://www.machin.com/page.php
je verifie que la session a été créée et qu'elle dispose bien d'une
donnée stockée dedans (admettons que cette valeur soit appelée mavariable)

Si ce n'est pas le cas, un redirect est effectué vers une autre
page https://www.truc.com/page2.php (vous avez bien lu, ce n'est ni
le meme protocole (https au lieu de http), ni le meme nom
de domaine.

La session est créée sur cette dernière page.

Si je réessaie d'accéder a la première page
http://www.machin.com/page.php, c'est comme si rien ne c'était passé...
je reviens automatiquement sur la seconde page.

Dans les fichies de sessions, j'ai deux fichiers... un plein de mes
variables dont mavariable, l'autre vide... et bien entendu,
l'identidiant de session dans le cookie est celui du fichier vide :-(

J'ai utilisé ini_set("session.cookie_domain","www.machin.com");
avant le session_start() dans toutes les pages !!!

Auriez-vous une piste, une solution,.. .que sais-je.... a ce problème ?
Merci du temps que vous avez pris pour m'aider...

Hugues

3 réponses

Avatar
Marc
hd wrote:

Si ce n'est pas le cas, un redirect est effectué vers une autre
page https://www.truc.com/page2.php (vous avez bien lu, ce n'est ni
le meme protocole (https au lieu de http), ni le meme nom
de domaine.



les sessions sont obligatoirement rattachées a un domaine + un repertoire.
C'est pas possible de faire ce que tu veux par le biais de sessions simples.
Essaie de le realiser avec autre chose en plus :

- arguments dans une url : http://host/script.php?login=.... (en verifiant le
referer, pas tres secure)

- un pseudo post (avec javascript) plus difficile a contontourner sur le
plan de la securité, mais pas plus secure.

Avatar
KEvin
hd a proclame :
Cela fait quelques heures que je suis bloqué sur un problème... J'espère
que certains d'entre-vous auront la réponse ;-)


oui heureusement pour toi ;)

Dans une page http://www.machin.com/page.php
je verifie que la session a été créée et qu'elle dispose bien d'une
donnée stockée dedans (admettons que cette valeur soit appelée mavariable)

Si ce n'est pas le cas, un redirect est effectué vers une autre
page https://www.truc.com/page2.php (vous avez bien lu, ce n'est ni
le meme protocole (https au lieu de http), ni le meme nom
de domaine.
La session est créée sur cette dernière page.

Si je réessaie d'accéder a la première page
http://www.machin.com/page.php, c'est comme si rien ne c'était passé...
je reviens automatiquement sur la seconde page.


normal si tu ne passe pas l'id de session explicitement php ne le fera
pas par url_rewrite ni pas et ton navigateur n'enverra pas le cookie
(heureusement !) car le domaine est different.

Dans les fichies de sessions, j'ai deux fichiers... un plein de mes
variables dont mavariable, l'autre vide... et bien entendu,
l'identidiant de session dans le cookie est celui du fichier vide :-(


tu ne peux pas utiliser les cookies pour tes sessions (en tout cas pas
pour passer d'un domaine a l'autre). Par contre rien n'empeche que tu
passe la session par l'url d'un site a l'autre:
sur http://www.machin.com/page.php tu redirige (une fois la session
cree) vers http://www.machin.com/page.php?nomsession=valeursession
ou nomsession est obtenu avec session_name() et valeursession avec
session_id().
La seule contrainte est que les fichiers de sessions soient accessibles
aux deux sites (ce qui peut se regler avec session_save_path()).

J'ai utilisé ini_set("session.cookie_domain","www.machin.com");
avant le session_start() dans toutes les pages !!!


normal : le domaine doit etre le meme que le site actuel sinon le
navigateur refuse le cookie. Encore heureux d'ailleurs sinon n'importe
quel site pourrait placer n'importe quel cookie pour n'importe quel
autre !!!!

--
KEvin

Avatar
SeeSchloss
Pourquoi les gens ne peuvent jamais dire "sûr" ou "sécurisé" ?
C'est même pas plus long à taper que "secure"...