transmission d'un id de session - PHP - Programmation
Marsh Posté le 19-06-2005 à 20:52:23
effectivement, si l'id de session n'est pas transmis via url, c'est fait via un cookie.
Par contre te dire ce qui est le plus sécurisé, je ne saurai pas. Au contraire il m'avait semblé lire que cookie c'était mieux.
Par contre tu peux faire en sorte que ca soit fait via cookie, et si le client refuse les cookies, via url
Marsh Posté le 20-06-2005 à 19:44:53
merci.
est ce qu'il serai possible d'obtenir un peu plus d'informations par rapport au rpocessus que suit une session?
redirigez moi pas vers de la doc. j'ai deja mon bouquin.
si qqn veut bien expliquer le truc en 3-4 lignes.
Marsh Posté le 20-06-2005 à 19:51:09
une session est crée, en php par session_start(). Tu dois mettre ca a toute les pages ou la session doit continuer.
Tu peux enregistrer des variable par un session_register($variable) ou $_SESSION["variable"], tout dépend de ta evrsion de php.
session_unset() permet de détruire les variables de session, et session_destroy() termine la session.
Voila, 4 lignes chez moi
Edit : On n'evoie rien au client (code html, meme un espace) avant de faire session_start() !
Marsh Posté le 21-06-2005 à 16:44:22
session_unset n'était pas déprécié?
il faut pas faire : unset ($variable) ?
Marsh Posté le 21-06-2005 à 18:57:59
Dépend de la version de php
Marsh Posté le 21-06-2005 à 22:17:00
ok thx, mais comment php se souvient que tel id de session est à tel utilisateur? il stocke le cookie et, en catimini, il va la lire chez le client quant on appelle session_start?
le pire truc que je capte pas c'est: si je fais par exemple <a href="mapage.php?page=pwetpwetkkwet&PHPSESSID=uisqf4d5f4z5erdf1vse45r7zer87sd54fc5sd4etcetc">un lien sur une page</a>
php va comprendre tout seul que le paramètre passé dans l'URL est un sessid et il va lire les données qu'elle renferme?
putain me d'mande si je suis clair.
sinon, il semblerai que session_register() et unset() soient depreciés. le truc classe parait-il en ce moment c'est $_SESSION = array() suivi de session_destroy() pour kicker correctement un session.
Marsh Posté le 22-06-2005 à 04:19:14
pmusa a écrit : ok thx, mais comment php se souvient que tel id de session est à tel utilisateur? il stocke le cookie et, en catimini, il va la lire chez le client quant on appelle session_start? |
bah vi il stocke les valeurs des variables dans un répertoire (ou un fichier me rappelle plus) au nom de la session, avec ton cookie il recup l'ID de session et il sait où aller chercher les données
pmusa a écrit : |
bah comme tu le dis toi même, tu mets dans l'url : PHPSESSID=uisqf4d5f4z5erdf1vse45r7zer87sd54fc5sd4etcetc . Bé ca si c'est pas lui donner un numéro de session alors PHPSESSID il sait que c'est pour lui filer le numéro de session. Après c'est comme avec le cookie
pmusa a écrit : putain me d'mande si je suis clair. |
bah vi ^^
Marsh Posté le 22-06-2005 à 16:33:12
merci.
[mode pete-couille]
et si je met NOMDEMACLEDESESSIONRELOU=id_de_session plutôt que PHPSESSID=id_de_session?
[/mode pete-couille]
Marsh Posté le 22-06-2005 à 16:39:46
pmusa a écrit : [mode pete-couille] |
http://fr.php.net/session_name
donc
Code :
|
Marsh Posté le 19-06-2005 à 20:42:14
bonsoir.
j'ai lu dans mon bouquin qu'il est preferable de transmettre un id de session via l'URL. assez lourdingue...
Or ce qui m'étonne, c'est que sur mon site, je me contente de solliciter la session via session_start et je recupère très bien les variables contenues dans la session. comment ce fait-ce?
d'après ce que j'ai cru comprendre, c'est parce que la creation d'une session genere egalement un cookie. puis-je avoir confirmation?
et pourquoi transmettre l'id de session via l'URL (mis a part par mesure de securité, si par exemple le client refuse les cookies), puisqu'après dans le code source stipulé, l'id de session n'est jamais repris via $_GET['idsession'] pour quoi que ce soit? mis a part pour le refouttre en paramètre dans les autres liens genre: <a href="?mapage=page&idsession=4ds5f4s5d4f5s4d5f464etcetcetc">lien</a>
merci de m'eclairer, ce point m'a serieusement echappé.