OVH Cloud OVH Cloud

sessions et PHPSESSID transparents dans liens

7 réponses
Avatar
Christophe PEREZ
Bonsoir,

J'ai un peu de mal à comprendre un truc.

Un php configuré avec session.use_trans_sid = 1
ne devrait-il pas transmettre les informations de session sans rajouter le
PHPSESSID dans les liens <a href=... ?
J'avais cru comprendre que c'était justement le paramètre pour rendre cela
transparent.

Du coup, si on ne veut pas se trimballer cess info dans l'url, on ne peut
pas utiliser de liens dans un site ? Il faut nécessairement passer par un
formulaire ?
Là, franchement, j'ai de gros doutes...

Merci pour vos éclairages.

--
Christophe PEREZ
Écrivez moi sans _faute !

7 réponses

Avatar
KEvin
Dans un message précédent Christophe PEREZ nous a informé que
Un php configuré avec session.use_trans_sid = 1
ne devrait-il pas transmettre les informations de session sans rajouter le
PHPSESSID dans les liens <a href=... ?


non, cette option permet d'essayer de ne pas transmettre l'id dans l'url
mais elle ne marche pas forcement : php essaie de mettre un cookie, si
celui-ci est present (a la deuxieme page) il arrete de mettre l'id dans
les urls, sinon il continue (sans quoi la session se perd !)

J'avais cru comprendre que c'était justement le paramètre pour rendre cela
transparent.


ce qui est transparent c'est le maintient de la session : sauf dans de
tres rare cas le devellopeur n'a pas besoin de se soucier de la
transmission de la session : c'est transparent pour lui.

Du coup, si on ne veut pas se trimballer cess info dans l'url, on ne peut
pas utiliser de liens dans un site ? Il faut nécessairement passer par un
formulaire ?


non les cookies sont la, a moins que session.use_cookies soit a false.


--
KEvin

Avatar
Thibaut Allender
Christophe PEREZ wrote:

Un php configuré avec session.use_trans_sid = 1
ne devrait-il pas transmettre les informations de session sans rajouter le
PHPSESSID dans les liens <a href=... ?
J'avais cru comprendre que c'était justement le paramètre pour rendre cela
transparent.


non, le trans_sid n'est justement pas transparent, car il evite
d'utiliser un cookie pour stocker le sid... le seul moyen de le
transmettre de page en page est donc de le rendre visible dans l'url !

Du coup, si on ne veut pas se trimballer cess info dans l'url, on ne peut
pas utiliser de liens dans un site ? Il faut nécessairement passer par un
formulaire ?
Là, franchement, j'ai de gros doutes...


ou passer par un cookie ;)

a+

--
freelance + web design + php dev + digital photo
+ http://www.capsule.org

Avatar
Etienne SOBOLE
"Christophe PEREZ" a écrit dans le message de
news:

Un php configuré avec session.use_trans_sid = 1
ne devrait-il pas transmettre les informations de session sans rajouter le
PHPSESSID dans les liens <a href=... ?
J'avais cru comprendre que c'était justement le paramètre pour rendre cela
transparent.


Oui normalement il ne passe le PHPSESSID que dans la première page.
car la premiere fois, le cookie de session n'est pas encore posé. (enfin me
semble t il)

Etienne

Avatar
Christophe PEREZ
Le Thu, 23 Oct 2003 22:16:56 +0000, KEvin a écrit:

ce qui est transparent c'est le maintient de la session : sauf dans de
tres rare cas le devellopeur n'a pas besoin de se soucier de la
transmission de la session : c'est transparent pour lui.


Donc même avec un header("Location... ??

non les cookies sont la, a moins que session.use_cookies soit a false.


Bon !
Merci pour l'explication de texte :-)

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
KEvin
Dans un message précédent Christophe PEREZ nous a informé que
Le Thu, 23 Oct 2003 22:16:56 +0000, KEvin a écrit:

ce qui est transparent c'est le maintient de la session : sauf dans de
tres rare cas le devellopeur n'a pas besoin de se soucier de la
transmission de la session : c'est transparent pour lui.


Donc même avec un header("Location... ??


non justement ca fait partie des rares cas ou la reecriture d'url ne se
fait pas car aucun contenu html n'est envoye au navigateur, juste une
commande HTTP, il faut donc soit faire suivre a la mais (avec SID) la
session, soit esperer que le cookie soit pose (sa presence dans $_COOKIE
peut nous rassurer sur ce point ...)


--
KEvin


Avatar
Christophe PEREZ
Le Mon, 27 Oct 2003 23:00:05 +0000, KEvin a écrit:

non justement ca fait partie des rares cas ou la reecriture d'url ne se
fait pas car aucun contenu html n'est envoye au navigateur, juste une
commande HTTP, il faut donc soit faire suivre a la mais (avec SID) la
session, soit esperer que le cookie soit pose (sa presence dans $_COOKIE
peut nous rassurer sur ce point ...)


En fait, ce que je fais, c'est que je gère moi même mes sessions, en
utilisant des sessions natives php que le session_id(), mes autres
variables étant toutes en bdd.

En local, (avec mon apache chez moi), tant que le navigateur n'est pas
fermé, l'identifiant de session reste toujours le même (mais j'imagine que
c'est une question de config de php).

Du coup, je m'en fiche assez de ce problème de transport du SID ou pas.
Par contre, ce que j'aimerais savoir c'est si :
- ce que je fais ou écris ici est absurde
- cela va fonctionner pareil sur la majorité des hébergeurs. En fait,
ont'ils, sur ce point, en général le même type de config que moi ? Ou
est-ce quelque chose sur quoi je peux agir moi même par des paramètres
dans mes pages quelque soit la config du serveur ?

Merci.

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
satch
est transparent c'est le maintient de la session : sauf dans de
tres rare cas le devellopeur n'a pas besoin de se soucier de la
transmission de la session : c'est transparent pour lui.


Donc même avec un header("Location... ??


non, c'est mon plus gros probleme, c'est que les header("Location: ...") ne
sont pas réécrit, alors il rest eun probleme si le client n'accepte pas les
cookies :-(


non les cookies sont la, a moins que session.use_cookies soit a false.


Bon !
Merci pour l'explication de texte :-)

--
Christophe PEREZ
Écrivez moi sans _faute !