Les sessions
Les avantages par rapport aux cookies est que les informations des sessions sont stockées sur le serveur.
Les données sont moins sensibles que sur les cookies puisque « personne » ne peut acceder aux sessions sur le serveur.
Démarrer une Session
Pour démarrer une session, il faut à chaque page avant tout affichage, appeler la fonction :
session_start();
A chaque appel à session_start, php réalise une identification grace a un identifiant de session.
Il verifiera dans le dossier temp (par défaut) si un cookie SESSION ID à déjà été crée et creera un sessid s’il nexiste pas.
Il chargera l’ensemble de ses informations dans $_SESSION.
Pour lire et ecrire des données dans la session, on utilisera le tableau $_SESSION.
Preuve de l’existence du Cookie de Session.
On peut retrouver le fichier sur le serveur : sess_IDENTIFIANT+DE+SESSION. Le contenu est en fait un serialize($_SESSION)
La serialization consiste a présenter une variable en forme de chaine. Déserializer c’est prendre les infos d’une chaine pour les transformer en une chaine
Nommer une session
Pour nommer une session, on utilisera :
session_name('nom');
Le cookie correspondant portera alors le nom renseigné
Détruire une session
Pour détruire une session, on utilisera :
session_destroy();
si et seulement si on à utilisé un session start. La session et le fichier de session seront détruits MAIS PAS LE COOKIE
Cela peut poser un probleme de sécurité puisque le cookie existera tant que le navigateur n’est pas fermé.
setcookie(session_name(),null);
Configuration
Dans le php.ini :
; Handler used to store/retrieve data. session.save_handler = files ;session.save_path = "/tmp" ; Name of the session (used as cookie name). session.name = PHPSESSID ; Initialize session on request startup. session.auto_start = 0 ; Lifetime in seconds of cookie or, if 0, until browser is restarted. session.cookie_lifetime = 0 ; The path for which the cookie is valid. session.cookie_path = / ; The domain for which the cookie is valid. session.cookie_domain = ; After this number of seconds, stored data will be seen as 'garbage' and ; cleaned up by the garbage collection process. (1440 seconds = 24 minutes) session.gc_maxlifetime = 1440
Ces valeurs peuvent être modifiées (ponctuellement) avec la fonction
ini_set('propriété','valeur');
Pour récupérer une valeur :
ini_get('propriété');

Commentaires récents