Serveur Apache HTTP Version 2.4

| Description: | Support des session bas� sur DBD/SQL | 
|---|---|
| Statut: | Extension | 
| Identificateur�de�Module: | session_dbd_module | 
| Fichier�Source: | mod_session_dbd.c | 
| Compatibilit�: | Disponible depuis la version 2.3 d'Apache | 
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 dans une base de
    donn�es SQL en utilisant le module mod_dbd.
Les sessions sont soit anonymes, et la session est alors identifi�e par un UUID unique stock� dans un cookie au niveau du navigateur, soit propres � l'utilisateur, et la session est alors identifi�e par l'identifiant de l'utilisateur connect�.
Les sessions bas�es sur SQL sont dissimul�es au navigateur, et permettent ainsi de pr�server la confidentialit� sans avoir recours au chiffrement.
Plusieurs serveurs web d'une for�t de serveurs peuvent choisir de partager une base de donn�es, et ainsi partager les sessions entre eux.
Pour plus de d�tails � propos de l'interface des sessions, voir
    la documentation du module mod_session.
 SessionDBDCookieName
 SessionDBDCookieName SessionDBDCookieName2
 SessionDBDCookieName2 SessionDBDCookieRemove
 SessionDBDCookieRemove SessionDBDDeleteLabel
 SessionDBDDeleteLabel SessionDBDInsertLabel
 SessionDBDInsertLabel SessionDBDPerUser
 SessionDBDPerUser SessionDBDSelectLabel
 SessionDBDSelectLabel SessionDBDUpdateLabel
 SessionDBDUpdateLabel Configuration de DBD
 Configuration de DBD Sessions anonymes
 Sessions anonymes Sessions propres � un
    utilisateur
 Sessions propres � un
    utilisateur Nettoyage de la base de
    donn�es
 Nettoyage de la base de
    donn�esPour que le module mod_session_dbd puisse �tre
      configur� et maintenir une session, il faut tout d'abord
      configurer le module mod_dbd pour que le serveur
      puisse ex�cuter des requ�tes vers la base de donn�es.
Quatre types de requ�tes sont n�cessaires pour maintenir une session, s�lectionner ou mettre � jour une session existante, ins�rer une nouvelle session et supprimer une session vide ou arriv�e � expiration. Ces requ�tes sont configur�es comme dans l'exemple suivant :
DBDriver pgsql DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost" DBDPrepareSQL "delete from session where key = %s" deletesession DBDPrepareSQL "update session set value = %s, expiry = %lld, key = %s where key = %s" updatesession DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" insertsession DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession
Les sessions anonymes sont identifi�es par un UUID unique, et stock�es dans un cookie au niveau du navigateur. Cette m�thode est similaire � celle utilis�e par la plupart des serveurs d'applications pour stocker les informations de session.
Pour cr�er une session anonyme, la stocker dans une table de base de donn�e postgres nomm�e apachesession, et sauvegarder l'identifiant de session dans un cookie nomm� session, configurez la session comme suit :
Session On SessionDBDCookieName session path=/
Pour plus d'exemples sur la mani�re dont une application CGI
      peut acc�der aux informations de session, 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.
Les sessions propres � un utilisateur sont identifi�es par le nom de l'utilisateur authentifi� avec succ�s. Ceci permet d'assurer une confidentialit� optimale, car aucun traitement externe � la session n'existe en dehors du contexte authentifi�.
Les sessions propres � un utilisateur ne fonctionnent que dans
      un environnement d'authentification correctement configur�, qu'il
      s'agisse d'une authentification de base, � base de condens�s
      (digest) ou de certificats client SSL. Suite � des limitations
      dues � des d�pendances mutuelles, les sessions propres � un
      utilisateur ne peuvent pas �tre utilis�es pour stocker les donn�es
      d'authentification en provenance d'un module comme
      mod_auth_form.
Pour cr�er une session propre � un utilisateur, la stocker dans une table de base de donn�es postgres nomm�e apachesession, avec comme cl� de session l'identifiant utilisateur, ajoutez les lignes suivantes :
Session On SessionDBDPerUser On
Avec le temps, la base de donn�es va commencer � accumuler des
      sessions expir�es. Pour le moment, le module
      mod_session_dbd n'est pas en mesure de g�rer
      automatiquement l'expiration des sessions.
L'administrateur devra mettre en oeuvre un traitement externe via cron pour nettoyer les sessions expir�es.
| Description: | Nom et attributs du cookie RFC2109 qui contient l'identifiant de session | 
|---|---|
| Syntaxe: | SessionDBDCookieName nom attributs | 
| D�faut: | none | 
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess | 
| Statut: | Extension | 
| Module: | mod_session_dbd | 
La directive SessionDBDCookieName permet
    de sp�cifier le nom et les attributs optionnels d'un cookie
    compatible RFC2109 qui contiendra l'identifiant de session. Les
    cookies RFC2109 sont d�finis � l'aide de l'en-t�te HTTP
    Set-Cookie.
    
Une liste optionnelle d'attributs peut �tre sp�cifi�e pour ce cookie, comme dans l'exemple ci-dessous. Ces attributs sont ins�r�s dans le cookie tels quels, et ne sont pas interpr�t�s par Apache. Assurez-vous que vos attributs sont d�finis correctement selon la sp�cification des cookies.
Session On SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;
| Description: | Nom et attributs du cookie RFC2965 qui contient l'identifiant de session | 
|---|---|
| Syntaxe: | SessionDBDCookieName2 nom attributs | 
| D�faut: | none | 
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess | 
| Statut: | Extension | 
| Module: | mod_session_dbd | 
La directive SessionDBDCookieName2 permet
    de sp�cifier le nom et les attributs optionnels d'un cookie
    compatible RFC2965 qui contiendra l'identifiant de session. Les
    cookies RFC2965 sont d�finis � l'aide de l'en-t�te HTTP
    Set-Cookie2.
    
Une liste optionnelle d'attributs peut �tre sp�cifi�e pour ce cookie, comme dans l'exemple ci-dessous. Ces attributs sont ins�r�s dans le cookie tel quel, et ne sont pas interpr�t�s par Apache. Assurez-vous que vos attributs sont d�finis correctement selon la sp�cification des cookies.
Session On SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
| Description: | D�termine si les cookies de session doivent �tre supprim�s des en-t�tes HTTP entrants | 
|---|---|
| Syntaxe: | SessionDBDCookieRemove On|Off | 
| D�faut: | SessionDBDCookieRemove On | 
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess | 
| Statut: | Extension | 
| Module: | mod_session_dbd | 
La directive SessionDBDCookieRemove permet
    de d�terminer si les cookies contenant l'identifiant de 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.
| Description: | La requ�te SQL � utiliser pour supprimer des sessions de la base de donn�es | 
|---|---|
| Syntaxe: | SessionDBDDeleteLabel �tiquette | 
| D�faut: | SessionDBDDeleteLabel deletesession | 
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess | 
| Statut: | Extension | 
| Module: | mod_session_dbd | 
La directive SessionDBDDeleteLabel permet
    de d�finir l'�tiquette de la requ�te de suppression � utiliser par
    d�faut pour supprimer une session vide ou expir�e. Cette
    �tiquette doit avoir �t� d�finie au pr�alable via une directive
    DBDPrepareSQL.
| Description: | La requ�te SQL � utiliser pour ins�rer des sessions dans la base de donn�es | 
|---|---|
| Syntaxe: | SessionDBDInsertLabel �tiquette | 
| D�faut: | SessionDBDInsertLabel insertsession | 
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess | 
| Statut: | Extension | 
| Module: | mod_session_dbd | 
La directive SessionDBDInsertLabel permet
    de d�finir l'�tiquette de la requ�te d'insertion par d�faut �
    charger dans une session. Cette
    �tiquette doit avoir �t� d�finie au pr�alable via une directive
    DBDPrepareSQL.
Si une tentative de mise � jour d'une session ne concerne aucun enregistrement, c'est cette requ�te qui sera utilis�e pour ins�rer la session dans la base de donn�es.
| Description: | Active une session propre � un utilisateur | 
|---|---|
| Syntaxe: | SessionDBDPerUser On|Off | 
| D�faut: | SessionDBDPerUser Off | 
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess | 
| Statut: | Extension | 
| Module: | mod_session_dbd | 
La directive SessionDBDPerUser permet
    d'activer une session propre � un utilisateur, dont la cl� sera le
    nom de l'utilisateur connect�. Si l'utilisateur n'est pas connect�,
    la directive sera ignor�e.
| Description: | La requ�te SQL � utiliser pour s�lectionner des sessions dans la base de donn�es | 
|---|---|
| Syntaxe: | SessionDBDSelectLabel �tiquette | 
| D�faut: | SessionDBDSelectLabel selectsession | 
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess | 
| Statut: | Extension | 
| Module: | mod_session_dbd | 
La directive SessionDBDSelectLabel permet
    de d�finir l'�tiquette de la requ�te de s�lection par d�faut �
    utiliser pour charger une session. Cette �tiquette doit avoir �t�
    d�finie au pr�alable via une directive DBDPrepareSQL.
| Description: | La requ�te SQL � utiliser pour mettre � jour des sessions pr�existantes dans la base de donn�es | 
|---|---|
| Syntaxe: | SessionDBDUpdateLabel �tiquette | 
| D�faut: | SessionDBDUpdateLabel updatesession | 
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess | 
| Statut: | Extension | 
| Module: | mod_session_dbd | 
La directive SessionDBDUpdateLabel permet
    de d�finir l'�tiquette de la requ�te de mise � jour par d�faut �
    charger dans une session. Cette
    �tiquette doit avoir �t� d�finie au pr�alable via une directive
    DBDPrepareSQL.
Si une tentative de mise � jour d'une session ne concerne aucun enregistrement, c'est la requ�te d'insertion qui sera appel�e pour ins�rer la session dans la base de donn�es. Si la base de donn�es supporte InsertOrUpdate, modifiez cette requ�te pour effectuer la mise � jour en une seule requ�te au lieu de deux.