1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_session - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_session</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_session.html" title="Français"> fr </a></p>
32 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des sessions</td></tr>
33 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
34 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_module</td></tr>
35 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session.c</td></tr>
36 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
39 <div class="warning"><h3>Avertissement</h3>
40 <p>Le module session fait usage des cookies HTTP, et peut à ce
41 titre être victime d'attaques de type Cross Site Scripting, ou
42 divulguer des informations à caractère privé aux clients. Veuillez
43 vous assurer que les risques ainsi encourus ont été pris en compte
44 avant d'activer le support des sessions sur votre serveur.</p>
47 <p>Ce module fournit le support d'une interface de session pour
48 chaque utilisateur au niveau du serveur global. Les sessions
49 permettent de transmettre diverses informations : l'utilisateur
50 est-il connecté ou non, ou toute autre information qui doit être
51 conservée d'une requête à l'autre.</p>
53 <p>Les sessions peuvent être stockées sur le serveur, ou au niveau
54 du navigateur. Les sessions peuvent aussi être chiffrées pour une
55 sécurité accrue. Ces fonctionnalités sont réparties entre différents
56 modules complémentaires de <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> :
57 <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>,
58 <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> et
59 <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. Chargez les modules appropriés
60 en fonction des besoins du serveur (soit statiquement à la
61 compilation, soit dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>).</p>
63 <p>Les sessions peuvent être manipulées par d'autres modules qui
64 dépendent de la session, ou la session peut être lue et écrite dans
65 des variables d'environnement et des en-têtes HTTP, selon les
69 <div id="quickview"><h3>Sujets</h3>
71 <li><img alt="" src="../images/down.gif" /> <a href="#whatisasession">Qu'est-ce qu'une session ?</a></li>
72 <li><img alt="" src="../images/down.gif" /> <a href="#whocanuseasession">Qui peut utiliser une session
74 <li><img alt="" src="../images/down.gif" /> <a href="#serversession">Stockage des sessions sur le
76 <li><img alt="" src="../images/down.gif" /> <a href="#browsersession">Stockage des sessions au niveau
77 du navigateur</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#basicexamples">Exemples simples</a></li>
79 <li><img alt="" src="../images/down.gif" /> <a href="#sessionprivacy">Confidentialité des
81 <li><img alt="" src="../images/down.gif" /> <a href="#cookieprivacy">Confidentialité du cookie</a></li>
82 <li><img alt="" src="../images/down.gif" /> <a href="#authentication">Support des sessions pour
83 l'authentification</a></li>
84 <li><img alt="" src="../images/down.gif" /> <a href="#integration">Intégration des sessions avec les
85 applications externes</a></li>
86 </ul><h3 class="directives">Directives</h3>
88 <li><img alt="" src="../images/down.gif" /> <a href="#session">Session</a></li>
89 <li><img alt="" src="../images/down.gif" /> <a href="#sessionenv">SessionEnv</a></li>
90 <li><img alt="" src="../images/down.gif" /> <a href="#sessionexclude">SessionExclude</a></li>
91 <li><img alt="" src="../images/down.gif" /> <a href="#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li>
92 <li><img alt="" src="../images/down.gif" /> <a href="#sessionheader">SessionHeader</a></li>
93 <li><img alt="" src="../images/down.gif" /> <a href="#sessioninclude">SessionInclude</a></li>
94 <li><img alt="" src="../images/down.gif" /> <a href="#sessionmaxage">SessionMaxAge</a></li>
96 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
98 <li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li>
99 <li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li>
100 <li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li>
101 <li><a href="#comments_section">Commentaires</a></li></ul></div>
102 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
103 <div class="section">
104 <h2><a name="whatisasession" id="whatisasession">Qu'est-ce qu'une session ?</a></h2>
105 <p>Au coeur de l'interface de session se trouve une table de
106 paires clé/valeur qui sont accessibles d'une requête du navigateur
107 à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne
108 valide, en fonction des besoins de l'application qui fait usage de
111 <p>Une "session" est une chaîne
112 <strong>application/x-www-form-urlencoded</strong> qui contient la
113 paire clé/valeur définie par la <a href="http://www.w3.org/TR/html4/">specification HTML</a>.</p>
115 <p>Selon les souhaits de l'administrateur, la session peut être
116 chiffrée et codée en base64 avant d'être soumise au dispositif de
119 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
120 <div class="section">
121 <h2><a name="whocanuseasession" id="whocanuseasession">Qui peut utiliser une session
123 <p>L'interface de session a été conçue à l'origine pour être
124 utilisée par d'autres modules du serveur comme
125 <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> ; les applications à base de
126 programmes CGI peuvent cependant se voir accorder l'accès au
127 contenu d'une session via la variable d'environnement
128 HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour
129 une session en insérant un en-tête de réponse HTTP contenant les
130 nouveaux paramètres de session.</p>
132 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
133 <div class="section">
134 <h2><a name="serversession" id="serversession">Stockage des sessions sur le
136 <p>Apache peut être configuré pour stocker les sessions
137 utilisateurs sur un serveur particulier ou un groupe de serveurs.
138 Cette fonctionnalité est similaire aus sessions disponibles sur
139 les serveurs d'applications courants.</p>
141 <p>Selon la configuration, les sessions sont suivies à
142 partir d'un identifiant de session stocké dans un cookie, ou
143 extrait de la chaîne de paramètres de l'URL, comme dans les
144 requêtes GET courantes.</p>
146 <p>Comme le contenu de la session est stocké exclusivement sur le
147 serveur, il est nécessaire de préserver la confidentialité de ce
148 contenu. Ceci a des implications en matière de performance et de
149 consommation de ressources lorsqu'un grand nombre de sessions est
150 stocké, ou lorsqu'un grand nombre de serveurs doivent se partager
151 les sessions entre eux.</p>
153 <p>Le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> permet de stocker
154 les sessions utilisateurs dans une base de données SQL via le
155 module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>.</p>
157 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
158 <div class="section">
159 <h2><a name="browsersession" id="browsersession">Stockage des sessions au niveau
160 du navigateur</a></h2>
161 <p>Dans les environnements à haut trafic où le stockage d'une
162 session sur un serveur consomme trop
163 de ressources, il est possible de stocker le contenu de la session
164 dans un cookie au niveau du navigateur client.</p>
166 <p>Ceci a pour avantage de ne nécessiter qu'une quantité minimale de
167 ressources sur le serveur pour suivre les sessions, et évite à
168 plusieurs serveurs parmi une forêt de serveurs de devoir partager
169 les informations de session.</p>
171 <p>Le contenu de la session est cependant présenté au client, avec
172 pour conséquence un risque de perte de confidentialité. Le module
173 <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> peut être configuré pour
174 chiffrer le contenu de la session avant qu'elle soit stockée au
175 niveau du client.</p>
177 <p>Le module <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> permet de stocker
178 les sessions au niveau du navigateur dans un cookie HTTP.+</p>
180 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
181 <div class="section">
182 <h2><a name="basicexamples" id="basicexamples">Exemples simples</a></h2>
184 <p>La création d'une session consiste simplement à ouvrir la
185 session, et à décider de l'endroit où elle doit être stockée. Dans
186 l'exemple suivant, la session sera stockée au niveau du
187 navigateur, dans un cookie nommé <code>session</code>.</p>
189 <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On
190 SessionCookieName session path=/</pre>
193 <p>Une session est inutile s'il n'est pas possible d'y lire
194 ou d'y écrire. L'exemple suivant montre comment des valeurs
195 peuvent être injectées dans une session à l'aide d'un en-tête de
196 réponse HTTP prédéterminé nommé
197 <code>X-Replace-Session</code>.</p>
199 <div class="example"><h3>Ecriture dans une session</h3><pre class="prettyprint lang-config">Session On
200 SessionCookieName session path=/
201 SessionHeader X-Replace-Session</pre>
204 <p>L'en-tête doit contenir des paires clé/valeur sous le même
205 format que celui de la chaîne d'argument d'une URL, comme dans
206 l'exemple suivant. Donner pour valeur à une clé la chaîne vide a
207 pour effet de supprimer la clé de la session.</p>
209 <div class="example"><h3>Script CGI pour écrire dans une session</h3><pre class="prettyprint lang-sh">#!/bin/bash
210 echo "Content-Type: text/plain"
211 echo "X-Replace-Session: key1=foo&key2=&key3=bar"
216 <p>Selon la configuration, les informations de la session peuvent
217 être extraites de la variable d'environnement HTTP_SESSION. Par
218 défaut la session est privée, et cette fonctionnalité doit donc
219 être explicitement activée via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>.</p>
221 <div class="example"><h3>Lecture depuis une session</h3><pre class="prettyprint lang-config">Session On
223 SessionCookieName session path=/
224 SessionHeader X-Replace-Session</pre>
227 <p>Une fois la lecture effectuée, la variable CGI
228 <code>HTTP_SESSION</code> doit contenir la valeur
229 <code>clé1=foo&clé3=bar</code>.</p>
231 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
232 <div class="section">
233 <h2><a name="sessionprivacy" id="sessionprivacy">Confidentialité des
236 <p>En utilisant la fonctionnalité de votre navigateur "Afficher
237 les cookies", vous pouvez voir une réprésentation de la session
238 sous forme de texte en clair. Ceci peut poser problème si le
239 contenu de la session doit être dissimulé à l'utilisateur final,
240 ou si un tiers accède sans autorisation aux informations de
243 <p>A ce titre, le contenu de la session peut être chiffré à l'aide
244 du module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> avant d'être stocké
245 au niveau du navigateur.</p>
247 <div class="example"><h3>Session chiffrée avant stockage au niveau du
248 navigateur</h3><pre class="prettyprint lang-config">Session On
249 SessionCryptoPassphrase secret
250 SessionCookieName session path=/</pre>
253 <p>La session sera automatiquement déchiffrée à la lecture, et
254 rechiffrée par Apache lors de la sauvegarde, si bien que
255 l'application sous-jacente qui utilise la session n'a pas à se
256 préoccuper de savoir si un chiffrement a été mis en oeuvre ou
259 <p>Les sessions stockées sur le serveur plutôt qu'au niveau du
260 navigateur peuvent aussi être chiffrées, préservant par là-même la
261 confidentialité lorsque des informations sensibles sont partagées
262 entre les serveurs web d'une forêt de serveurs à l'aide du module
263 <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p>
265 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
266 <div class="section">
267 <h2><a name="cookieprivacy" id="cookieprivacy">Confidentialité du cookie</a></h2>
269 <p>Le mécanisme de cookie HTTP offre aussi des fonctionnalités
270 quant à la confidentialité, comme la possibilité de
271 restreindre le transport du cookie aux pages protégées par SSL
272 seulement, ou l'interdiction pour les scripts java qui
273 s'exécutent au niveau du navigateur d'obtenir l'accès au contenu
276 <div class="warning"><h3>Avertissement</h3>
277 <p>Certaines fonctionnalités de confidentialité du cookie HTTP ne
278 sont pas standardisées, ou ne sont pas toujours implémentées au
279 niveau du navigateur. Les modules de session vous permettent de
280 définir les paramètres du cookie, mais il n'est pas garanti que la
281 confidentialité sera respectée par le navigateur. Si la sécurité
282 est la principale préoccupation, chiffrez le contenu de la session
283 avec le module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, ou stockez la
284 session sur le serveur avec le module
285 <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p>
288 <p>Les paramètres standards du cookie peuvent être spécifiés après
289 le nom du cookie comme dans l'exemple suivant :</p>
291 <div class="example"><h3>Définition des paramètres du cookie</h3><pre class="prettyprint lang-config">Session On
292 SessionCryptoPassphrase secret
293 SessionCookieName session path=/private;domain=example.com;httponly;secure;</pre>
296 <p>Dans les cas où le serveur Apache sert de frontal pour des
297 serveurs d'arrière-plan, il est possible de supprimer les cookies
298 de session des en-têtes HTTP entrants à l'aide de la directive
299 <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></code>. Ceci
300 permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu
301 des cookies de session.
304 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
305 <div class="section">
306 <h2><a name="authentication" id="authentication">Support des sessions pour
307 l'authentification</a></h2>
309 <p>Comme il est possible de le faire avec de nombreux serveurs
310 d'applications, les modules d'authentification peuvent utiliser
311 une session pour stocker le nom d'utilisateur et le mot de passe
312 après connexion. Le module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> par
313 exemple, sauvegarde les nom de connexion et mot de passe de
314 l'utilisateur dans une session.</p>
316 <div class="example"><h3>Authentification à base de formulaire</h3><pre class="prettyprint lang-config">Session On
317 SessionCryptoPassphrase secret
318 SessionCookieName session path=/
319 AuthFormProvider file
320 AuthUserFile "conf/passwd"
326 <p>Pour la documentation et des exemples complets, voir le module
327 <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p>
329 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
330 <div class="section">
331 <h2><a name="integration" id="integration">Intégration des sessions avec les
332 applications externes</a></h2>
334 <p>Pour que les sessions soient utiles, leur contenu doit être
335 accessible aux applications externes, et ces dernières doivent
336 elles-mêmes être capables d'écrire une session.</p>
338 <p>L'exemple type est une application qui modifie le mot de passe
339 d'un utilisateur défini par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>. Cette
340 application doit pouvoir extraire les nom d'utilisateur et mot de
341 passe courants de la session, effectuer les modifications
342 demandées, puis écrire le nouveau mot de passe dans la session,
343 afin que la transition vers le nouveau mot de passe soit
346 <p>Un autre exemple met en jeu une application qui enregistre un
347 nouvel utilisateur pour la première fois. Une fois
348 l'enregistrement terminé, le nom d'utilisateur et le mot de passe
349 sont écrits dans la session, fournissant là aussi une transition
353 <dt>Modules Apache</dt>
354 <dd>Selon les besoins, les modules du serveur peuvent utiliser
355 l'API <strong>mod_session.h</strong> pour lire et écrire dans les
356 sessions. Les modules tels que <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>
357 utilisent ce mécanisme.
360 <dt>Programmes CGI et langages de script</dt>
361 <dd>Les applications qui s'exécutent au sein du serveur web
362 peuvent éventuellement extraire la valeur de la session de la
363 variable d'environnement <strong>HTTP_SESSION</strong>. La session
364 doit être codée sous la forme d'une chaîne
365 <strong>application/x-www-form-urlencoded</strong> selon les
366 préconisations de la <a href="http://www.w3.org/TR/html4/">specification HTML</a>. Cette
367 variable d'environnement est définie via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>. Un script peut écrire
368 dans la session en renvoyant un en-tête de réponse
369 <strong>application/x-www-form-urlencoded</strong> dont le nom est
370 défini via la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code>. Dans les deux cas,
371 tout chiffrement ou déchiffrement, ainsi que la lecture ou
372 l'écriture de ou vers la session à partir du mécanisme de stockage
373 choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
374 configuration correspondante.
377 <dt>Applications situées derrière <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dt>
378 <dd>Si la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code> est utilisée pour
379 définir un en-tête de requête HTTP, la session codée sous la forme
380 d'une chaîne <strong>application/x-www-form-urlencoded</strong>
381 sera accessible pour l'application. Si ce même en-tête est fourni
382 dans la réponse, sa valeur sera utilisée pour remplacer la
383 session. Comme précédemment, tout chiffrement ou déchiffrement,
384 ainsi que la lecture ou
385 l'écriture de ou vers la session à partir du mécanisme de stockage
386 choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
387 configuration correspondante.</dd>
389 <dt>Applications indépendantes</dt>
390 <dd>Les applications peuvent choisir de manipuler la session en
391 s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas,
392 c'est l'application qui doit prendre en charge la lecture de la
393 session depuis le mécanisme de stockage choisi, son déchiffrement,
394 sa mise à jour, son chiffrement et sa réécriture vers le mécanisme
395 de stockage choisi de manière appropriée.</dd>
399 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
400 <div class="directive-section"><h2><a name="session" id="session">Directive</a> <a name="Session" id="Session">Session</a></h2>
401 <table class="directive">
402 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ouvre une session pour le contexte courant</td></tr>
403 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Session On|Off</code></td></tr>
404 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Session Off</code></td></tr>
405 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
406 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
407 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
408 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
410 <p>La directive <code class="directive">Session</code> permet d'ouvrir une
411 session pour le contexte ou conteneur courant. Les directives
412 suivantes permettent de définir où la session sera stockée et
413 comment sera assurée la confidentialité.</p>
416 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
417 <div class="directive-section"><h2><a name="sessionenv" id="sessionenv">Directive</a> <a name="SessionEnv" id="SessionEnv">SessionEnv</a></h2>
418 <table class="directive">
419 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le contenu de la session doit être enregistré
420 dans la variable d'environnement <var>HTTP_SESSION</var></td></tr>
421 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionEnv On|Off</code></td></tr>
422 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionEnv Off</code></td></tr>
423 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
424 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
425 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
426 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
428 <p>Lorsque la directive <code class="directive">SessionEnv</code> est
429 définie à <var>On</var>, le contenu de la session est enregistré
430 dans une variable d'environnement CGI nommée
431 <var>HTTP_SESSION</var>.</p>
433 <p>La chaîne est écrite sous le même format que celui de la chaîne
434 d'arguments d'une URL, comme dans l'exemple suivant :</p>
436 <div class="example"><p><code>
437 <code>clé1=foo&clé3=bar</code>
442 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
443 <div class="directive-section"><h2><a name="sessionexclude" id="sessionexclude">Directive</a> <a name="SessionExclude" id="SessionExclude">SessionExclude</a></h2>
444 <table class="directive">
445 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URLs pour lesquels une session sera
447 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExclude <var>chemin</var></code></td></tr>
448 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
449 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
450 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
451 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
452 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
454 <p>La directive <code class="directive">SessionExclude</code> permet de
455 définir les préfixes d'URLs pour lesquels la session sera
456 désactivée. Ceci peut améliorer l'efficacité d'un site web, en
457 ciblant de manière plus précise l'espace d'URL pour lequel une
458 session devra être maintenue. Par défaut, toutes les URLs du
459 contexte ou du conteneur courant sont incluses dans la session. La
460 directive <code class="directive"><a href="#sessionexclude">SessionExclude</a></code>
461 l'emporte sur la directive <code class="directive"><a href="#sessioninclude">SessionInclude</a></code>.</p>
463 <div class="warning"><h3>Avertissement</h3>
464 <p>Cette directive a un comportement similaire à celui de l'attribut
465 <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
466 avec cet attribut. En effet, cette directive ne définit pas
467 l'attribut <var>chemin</var>, qui doit être configuré
468 séparément.</p></div>
471 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
472 <div class="directive-section"><h2><a name="sessionexpiryupdateinterval" id="sessionexpiryupdateinterval">Directive</a> <a name="SessionExpiryUpdateInterval" id="SessionExpiryUpdateInterval">SessionExpiryUpdateInterval</a></h2>
473 <table class="directive">
474 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre de secondes dont la durée d'expiration d'une
475 session peut changer sans que cette session soit mise à jour</td></tr>
476 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExpiryUpdateInterval <var>interval</var></code></td></tr>
477 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionExpiryUpdateInterval 0 (mise à jour systématique)</code></td></tr>
478 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
479 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
480 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
481 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
483 <p>La directive <code class="directive">SessionExpiryUpdateInterval</code>
484 permet d'éviter le coût de l'écriture d'une session pour chaque
485 requête en n'effectuant cette mise à jour que lorsque la date
486 d'expiration a changé. Ceci permet d'améliorer les performances d'un
487 site web ou de réduire la charge d'une base de données lorsqu'on
488 utilise <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. La session est
489 systématiquement mise à jour si les données stockées dans la session
490 ont été modifiées ou si la durée d'expiration a été modifiée d'une
491 durée supérieure à l'intervalle spécifié.</p>
493 <p>Définir l'intervalle à 0 désactive cette directive, et
494 l'expiration de la session sera alors rafraîchie pour chaque requête.</p>
496 <p>Cette directive n'a d'effet que si on l'utilise en combinaison
497 avec la directive <code class="directive"><a href="#sessionmaxage">SessionMaxAge</a></code> qui active
498 l'expiration des sessions. Les sessions sans date d'expiration ne
499 sont écrites que lorsque les données qu'elles renferment ont été
502 <div class="warning"><h3>Avertissement</h3>
503 <p>Comme l'expiration de la session n'est pas systématiquement
504 rafraîchie à chaque requête, une session peut arriver à expiration
505 plus tôt d'un nombre de secondes spécifié dans le paramètre
506 <var>interval</var>. Définir un petit intervalle est en général
507 assez sur, mais en revenche n'a qu'un effet minime sur la prise en
508 compte des durées d'expiration.</p></div>
511 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
512 <div class="directive-section"><h2><a name="sessionheader" id="sessionheader">Directive</a> <a name="SessionHeader" id="SessionHeader">SessionHeader</a></h2>
513 <table class="directive">
514 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Importation des mises à jour de session depuis l'en-tête de
515 réponse HTTP spécifié</td></tr>
516 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionHeader <var>en-tête</var></code></td></tr>
517 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
518 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
519 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
520 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
521 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
523 <p>La directive <code class="directive">SessionHeader</code> permet de
524 définir le nom d'un en-tête de réponse HTTP qui, s'il est présent,
525 sera lu et son contenu écrit dans la session courante.</p>
527 <p>Le contenu de l'en-tête doit se présenter sous le même format que
528 celui de la chaîne d'arguments d'une URL, comme dans l'exemple
531 <div class="example"><p><code>
532 <code>clé1=foo&clé2=&clé3=bar</code>
535 <p>Si une clé a pour valeur la chaîne vide, elle sera supprimée de
540 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
541 <div class="directive-section"><h2><a name="sessioninclude" id="sessioninclude">Directive</a> <a name="SessionInclude" id="SessionInclude">SessionInclude</a></h2>
542 <table class="directive">
543 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URL pour lesquels une session est
545 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionInclude <var>chemin</var></code></td></tr>
546 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>toutes URLs</code></td></tr>
547 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
548 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
549 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
550 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
552 <p>La directive <code class="directive">SessionInclude</code> permet de
553 définir les préfixes d'URL spécifiques pour lesquels une session
554 sera valide. Ceci peut améliorer l'efficacité d'un site web, en
555 ciblant de manière plus précise l'espace d'URL pour lequel une
556 session devra être maintenue. Par défaut, toutes les URLs du
557 contexte ou du conteneur courant sont incluses dans la session.</p>
559 <div class="warning"><h3>Avertissement</h3>
560 <p>Cette directive a un comportement similaire à celui de l'attribut
561 <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
562 avec cet attribut. En effet, cette directive ne définit pas
563 l'attribut <var>chemin</var>, qui doit être configuré séparément.</p></div>
566 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
567 <div class="directive-section"><h2><a name="sessionmaxage" id="sessionmaxage">Directive</a> <a name="SessionMaxAge" id="SessionMaxAge">SessionMaxAge</a></h2>
568 <table class="directive">
569 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie maximale pour la session en
571 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionMaxAge <var>durée de vie maximale</var></code></td></tr>
572 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionMaxAge 0</code></td></tr>
573 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
574 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
575 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
576 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
578 <p>La directive <code class="directive">SessionMaxAge</code> permet de
579 définir la durée maximale pendant laquelle une session restera
580 valide. Lorsqu'une session est sauvegardée, cette durée est
581 réinitialisée et la session peut continuer d'exister. Si la durée
582 d'une session dépasse cette limite sans qu'une requête au serveur ne
583 vienne la rafraîchir, la session va passer hors délai et sera
584 supprimée. Lorsqu'une session est utilisée pour stocker les
585 informations de connexion d'un utilisateur, ceci aura pour effet de
586 le déconnecter automatiquement après le délai spécifié.</p>
588 <p>Donner à cette directive la valeur 0 empêche l'expiration de la
593 <div class="bottomlang">
594 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English"> en </a> |
595 <a href="../fr/mod/mod_session.html" title="Français"> fr </a></p>
596 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
597 <script type="text/javascript"><!--//--><![CDATA[//><!--
598 var comments_shortname = 'httpd';
599 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_session.html';
601 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
602 d.write('<div id="comments_thread"><\/div>');
603 var s = d.createElement('script');
604 s.type = 'text/javascript';
606 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
607 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
610 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
612 })(window, document);
613 //--><!]]></script></div><div id="footer">
614 <p class="apache">Copyright 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
615 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
616 if (typeof(prettyPrint) !== 'undefined') {