mod_session_cookie
Support des sessions basé sur les cookies
Extension
mod_session_cookie.c
session_cookie_module
Disponible depuis la version 2.3 d'Apache

# Avertissement

Les modules de session font usage des cookies HTTP, et peuvent à ce titre être victimes d'attaques de type Cross Site Scripting, ou divulguer des informations à caractère privé aux clients. Veuillez vous assurer que les risques ainsi encourus ont été pris en compte avant d'activer le support des sessions sur votre serveur.

Ce sous-module du module mod_session fournit le support du stockage des sessions utilisateur au niveau du navigateur distant dans des cookies HTTP.

L'utilisation de cookies pour stocker les sessions décharge le serveur ou le groupe de serveurs de la nécessité de stocker les sessions localement, ou de collaborer pour partager les sessions, et peut être utile dans les environnements à fort trafic où le stockage des sessions sur le serveur pourrait s'avérer trop consommateur de ressources.

Si la confidentialité de la session doit être préservée, le contenu de cette dernière peut être chiffré avant d'être enregistré au niveau du client à l'aide du module mod_session_crypto.

Pour plus de détails à propos de l'interface des sessions, voir la documentation du module mod_session.

mod_session
mod_session_crypto
mod_session_dbd

# Exemples simples

Pour créer une session et la stocker dans un cookie nommé session, configurez-la comme suit :

## Session stockée au niveau du navigateur

Session On SessionCookieName session path=/

Pour plus d'exemples sur la manière dont une session doit être configurée pour qu'une application CGI puisse l'utiliser, voir la section exemples de la documentation du module mod_session.

Pour des détails sur la manière dont une session peut être utilisée pour stocker des informations de type nom d'utilisateur/mot de passe, voir la documentation du module mod_auth_form.

SessionCookieName
Nom et attributs du cookie RFC2109 dans lequel la session est stockée
SessionCookieName nom attributs
none
server config
virtual host
directory
.htaccess

La directive SessionCookieName permet de spécifier le nom et les attributs optionnels d'un cookie compatible RFC2109 dans lequel la session sera stockée. Les cookies RFC2109 sont définis en utilisant l'en-tête HTTP `Set-Cookie`.

Une liste optionnelle d'attributs peut être spécifiée, comme dans l'exemple suivant. Ces attributs sont insérés tels quels dans le cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos attributs soient définis correctement selon la spécification des cookies.

# Cookie avec attributs

Session On SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;
SessionCookieName2
Nom et attributs pour le cookie RFC2965 dans lequel est stockée la session
SessionCookieName2 nom attributs
none
server config
virtual host
directory
.htaccess

La directive SessionCookieName2 permet de spécifier le nom et les attributs optionnels d'un cookie compatible RFC2965 dans lequel la session sera stockée. Les cookies RFC2965 sont définis en utilisant l'en-tête HTTP `Set-Cookie2`.

Une liste optionnelle d'attributs peut être spécifiée, comme dans l'exemple suivant. Ces attributs sont insérés tels quels dans le cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos attributs soient définis correctement selon la spécification des cookies.

# Cookie2 avec attributs

Session On SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
SessionCookieRemove
Détermine si les cookies de session doivent être supprimés des en-têtes HTTP entrants
SessionCookieRemove On|Off
SessionCookieRemove Off
server config
virtual host
directory
.htaccess

La directive SessionCookieRemove permet de déterminer si les cookies contenant la session doivent être supprimés des en-têtes pendant le traitement de la requête.

Dans le cas d'un mandataire inverse où le serveur Apache sert de frontal à un serveur d'arrière-plan, révéler le contenu du cookie de session à ce dernier peut conduire à une violation de la confidentialité. À ce titre, si cette directive est définie à "on", le cookie de session sera supprimé des en-têtes HTTP entrants.