Skip to content

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.

Relation entre SESSION et COOKIE

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é');