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.4</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/directives.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.4</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.4</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 également ê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="#sessionheader">SessionHeader</a></li>
92 <li><img alt="" src="../images/down.gif" /> <a href="#sessioninclude">SessionInclude</a></li>
93 <li><img alt="" src="../images/down.gif" /> <a href="#sessionmaxage">SessionMaxAge</a></li>
95 <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>
97 <li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li>
98 <li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li>
99 <li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li>
100 <li><a href="#comments_section">Commentaires</a></li></ul></div>
101 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
102 <div class="section">
103 <h2><a name="whatisasession" id="whatisasession">Qu'est-ce qu'une session ?</a></h2>
104 <p>Au coeur de l'interface de session se trouve une table de
105 paires clé/valeur qui sont accessibles d'une requête du navigateur
106 à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne
107 de caractères valide, en fonction des besoins de l'application qui
108 fait usage de la session.</p>
110 <p>Une "session" est une chaîne
111 <strong>application/x-www-form-urlencoded</strong> qui contient la
112 paire clé/valeur définie par la <a href="http://www.w3.org/TR/html4/">spécification HTML</a>.</p>
114 <p>Selon les souhaits de l'administrateur, la session peut être
115 chiffrée et codée en base64 avant d'être soumise au dispositif de
118 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
119 <div class="section">
120 <h2><a name="whocanuseasession" id="whocanuseasession">Qui peut utiliser une session
122 <p>L'interface de session a été conçue à l'origine pour être
123 utilisée par d'autres modules du serveur comme
124 <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> ; les applications à base de
125 programmes CGI peuvent cependant se voir accorder l'accès au
126 contenu d'une session via la variable d'environnement
127 HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour
128 une session en insérant un en-tête de réponse HTTP contenant les
129 nouveaux paramètres de session.</p>
131 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
132 <div class="section">
133 <h2><a name="serversession" id="serversession">Stockage des sessions sur le
135 <p>Apache peut être configuré pour stocker les sessions
136 utilisateurs sur un serveur particulier ou un groupe de serveurs.
137 Cette fonctionnalité est similaire aux sessions disponibles sur
138 les serveurs d'applications courants.</p>
140 <p>Selon la configuration, les sessions sont suivies à
141 partir d'un identifiant de session stocké dans un cookie, ou
142 extraites de la chaîne de paramètres de l'URL, comme dans les
143 requêtes GET courantes.</p>
145 <p>Comme le contenu de la session est stocké exclusivement sur le
146 serveur, il est nécessaire de préserver la confidentialité de ce
147 contenu. Ceci a des implications en matière de performance et de
148 consommation de ressources lorsqu'un grand nombre de sessions est
149 stocké, ou lorsqu'un grand nombre de serveurs doivent se partager
150 les sessions entre eux.</p>
152 <p>Le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> permet de stocker
153 les sessions utilisateurs dans une base de données SQL via le
154 module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>.</p>
156 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
157 <div class="section">
158 <h2><a name="browsersession" id="browsersession">Stockage des sessions au niveau
159 du navigateur</a></h2>
160 <p>Dans les environnements à haut trafic où le stockage d'une
161 session sur un serveur consomme trop
162 de ressources, il est possible de stocker le contenu de la session
163 dans un cookie au niveau du navigateur client.</p>
165 <p>Ceci a pour avantage de ne nécessiter qu'une quantité minimale de
166 ressources sur le serveur pour suivre les sessions, et évite à
167 plusieurs serveurs parmi une forêt de serveurs de devoir partager
168 les informations de session.</p>
170 <p>Le contenu de la session est cependant présenté au client, avec
171 pour conséquence un risque de perte de confidentialité. Le module
172 <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> peut être configuré pour
173 chiffrer le contenu de la session avant qu'elle soit stockée au
174 niveau du client.</p>
176 <p>Le module <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> permet de stocker
177 les sessions au niveau du navigateur dans un cookie HTTP.</p>
179 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
180 <div class="section">
181 <h2><a name="basicexamples" id="basicexamples">Exemples simples</a></h2>
183 <p>La création d'une session consiste simplement à ouvrir la
184 session, et à décider de l'endroit où elle doit être stockée. Dans
185 l'exemple suivant, la session sera stockée au niveau du
186 navigateur, dans un cookie nommé <code>session</code>.</p>
188 <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On
189 SessionCookieName session path=/</pre>
192 <p>Une session est inutile s'il n'est pas possible d'y lire
193 ou d'y écrire. L'exemple suivant montre comment des valeurs
194 peuvent être injectées dans une session à l'aide d'un en-tête de
195 réponse HTTP prédéterminé nommé
196 <code>X-Replace-Session</code>.</p>
198 <div class="example"><h3>Ecriture dans une session</h3><pre class="prettyprint lang-config">Session On
199 SessionCookieName session path=/
200 SessionHeader X-Replace-Session</pre>
203 <p>L'en-tête doit contenir des paires clé/valeur sous le même
204 format que celui de la chaîne d'argument d'une URL, comme dans
205 l'exemple suivant. Donner pour valeur à une clé la chaîne vide a
206 pour effet de supprimer la clé de la session.</p>
208 <div class="example"><h3>Script CGI pour écrire dans une session</h3><pre class="prettyprint lang-sh">#!/bin/bash
209 echo "Content-Type: text/plain"
210 echo "X-Replace-Session: key1=foo&key2=&key3=bar"
215 <p>Selon la configuration, les informations de la session peuvent
216 être extraites de la variable d'environnement HTTP_SESSION. Par
217 défaut la session est privée, et cette fonctionnalité doit donc
218 être explicitement activée via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>.</p>
220 <div class="example"><h3>Lecture depuis une session</h3><pre class="prettyprint lang-config">Session On
222 SessionCookieName session path=/
223 SessionHeader X-Replace-Session</pre>
226 <p>Une fois la lecture effectuée, la variable CGI
227 <code>HTTP_SESSION</code> doit contenir la valeur
228 <code>clé1=foo&clé3=bar</code>.</p>
230 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
231 <div class="section">
232 <h2><a name="sessionprivacy" id="sessionprivacy">Confidentialité des
235 <p>En utilisant la fonctionnalité de votre navigateur "Afficher
236 les cookies", vous pouvez voir une réprésentation de la session
237 sous forme de texte en clair. Ceci peut poser problème si le
238 contenu de la session doit être dissimulé à l'utilisateur final,
239 ou si un tiers accède sans autorisation aux informations de
242 <p>À ce titre, le contenu de la session peut être chiffré à l'aide
243 du module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> avant d'être stocké
244 au niveau du navigateur.</p>
246 <div class="example"><h3>Session chiffrée avant stockage au niveau du
247 navigateur</h3><pre class="prettyprint lang-config">Session On
248 SessionCryptoPassphrase secret
249 SessionCookieName session path=/</pre>
252 <p>La session sera automatiquement déchiffrée à la lecture, et
253 rechiffrée par Apache lors de la sauvegarde, si bien que
254 l'application sous-jacente qui utilise la session n'a pas à se
255 préoccuper de savoir si un chiffrement a été mis en oeuvre ou
258 <p>Les sessions stockées sur le serveur plutôt qu'au niveau du
259 navigateur peuvent aussi être chiffrées, préservant par là-même la
260 confidentialité lorsque des informations sensibles sont partagées
261 entre les serveurs web d'une forêt de serveurs à l'aide du module
262 <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p>
264 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
265 <div class="section">
266 <h2><a name="cookieprivacy" id="cookieprivacy">Confidentialité du cookie</a></h2>
268 <p>Le mécanisme de cookie HTTP offre aussi des fonctionnalités
269 quant à la confidentialité, comme la possibilité de
270 restreindre le transport du cookie aux pages protégées par SSL
271 seulement, ou l'interdiction pour les scripts java qui
272 s'exécutent au niveau du navigateur d'obtenir l'accès au contenu
275 <div class="warning"><h3>Avertissement</h3>
276 <p>Certaines fonctionnalités de confidentialité du cookie HTTP ne
277 sont pas standardisées, ou ne sont pas toujours implémentées au
278 niveau du navigateur. Les modules de session vous permettent de
279 définir les paramètres du cookie, mais il n'est pas garanti que la
280 confidentialité sera respectée par le navigateur. Si la sécurité
281 est la principale préoccupation, chiffrez le contenu de la session
282 avec le module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, ou stockez la
283 session sur le serveur avec le module
284 <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p>
287 <p>Les paramètres standards du cookie peuvent être spécifiés après
288 le nom du cookie comme dans l'exemple suivant :</p>
290 <div class="example"><h3>Définition des paramètres du cookie</h3><pre class="prettyprint lang-config">Session On
291 SessionCryptoPassphrase secret
292 SessionCookieName session path=/private;domain=example.com;httponly;secure;</pre>
295 <p>Dans les cas où le serveur Apache sert de frontal pour des
296 serveurs d'arrière-plan, il est possible de supprimer les cookies
297 de session des en-têtes HTTP entrants à l'aide de la directive
298 <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></code>. Ceci
299 permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu
300 des cookies de session.
303 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
304 <div class="section">
305 <h2><a name="authentication" id="authentication">Support des sessions pour
306 l'authentification</a></h2>
308 <p>Comme il est possible de le faire avec de nombreux serveurs
309 d'applications, les modules d'authentification peuvent utiliser
310 une session pour stocker le nom d'utilisateur et le mot de passe
311 après connexion. Le module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> par
312 exemple, sauvegarde les nom de connexion et mot de passe de
313 l'utilisateur dans une session.</p>
315 <div class="example"><h3>Authentification à base de formulaire</h3><pre class="prettyprint lang-config">Session On
316 SessionCryptoPassphrase secret
317 SessionCookieName session path=/
318 AuthFormProvider file
319 AuthUserFile "conf/passwd"
325 <p>Pour la documentation et des exemples complets, voir le module
326 <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p>
328 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
329 <div class="section">
330 <h2><a name="integration" id="integration">Intégration des sessions avec les
331 applications externes</a></h2>
333 <p>Pour que les sessions soient utiles, leur contenu doit être
334 accessible aux applications externes, et ces dernières doivent
335 elles-mêmes être capables d'écrire une session.</p>
337 <p>L'exemple type est une application qui modifie le mot de passe
338 d'un utilisateur défini par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>. Cette
339 application doit pouvoir extraire les nom d'utilisateur et mot de
340 passe courants de la session, effectuer les modifications
341 demandées, puis écrire le nouveau mot de passe dans la session,
342 afin que la transition vers le nouveau mot de passe soit
345 <p>Un autre exemple met en jeu une application qui enregistre un
346 nouvel utilisateur pour la première fois. Une fois
347 l'enregistrement terminé, le nom d'utilisateur et le mot de passe
348 sont écrits dans la session, fournissant là aussi une transition
352 <dt>Modules Apache</dt>
353 <dd>Selon les besoins, les modules du serveur peuvent utiliser
354 l'API <strong>mod_session.h</strong> pour lire et écrire dans les
355 sessions. Les modules tels que <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>
356 utilisent ce mécanisme.
359 <dt>Programmes CGI et langages de script</dt>
360 <dd>Les applications qui s'exécutent au sein du serveur web
361 peuvent éventuellement extraire la valeur de la session de la
362 variable d'environnement <strong>HTTP_SESSION</strong>. La session
363 doit être codée sous la forme d'une chaîne
364 <strong>application/x-www-form-urlencoded</strong> selon les
365 préconisations de la <a href="http://www.w3.org/TR/html4/">specification HTML</a>. Cette
366 variable d'environnement est définie via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>. Un script peut écrire
367 dans la session en renvoyant un en-tête de réponse
368 <strong>application/x-www-form-urlencoded</strong> dont le nom est
369 défini via la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code>. Dans les deux cas,
370 tout chiffrement ou déchiffrement, ainsi que la lecture ou
371 l'écriture de ou vers la session à partir du mécanisme de stockage
372 choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
373 configuration correspondante.
376 <dt>Applications situées derrière <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dt>
377 <dd>Si la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code> est utilisée pour
378 définir un en-tête de requête HTTP, la session codée sous la forme
379 d'une chaîne <strong>application/x-www-form-urlencoded</strong>
380 sera accessible pour l'application. Si ce même en-tête est fourni
381 dans la réponse, sa valeur sera utilisée pour remplacer la
382 session. Comme précédemment, tout chiffrement ou déchiffrement,
383 ainsi que la lecture ou
384 l'écriture de ou vers la session à partir du mécanisme de stockage
385 choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
386 configuration correspondante.</dd>
388 <dt>Applications indépendantes</dt>
389 <dd>Les applications peuvent choisir de manipuler la session en
390 s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas,
391 c'est l'application qui doit prendre en charge la lecture de la
392 session depuis le mécanisme de stockage choisi, son déchiffrement,
393 sa mise à jour, son chiffrement et sa réécriture vers le mécanisme
394 de stockage choisi de manière appropriée.</dd>
398 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
399 <div class="directive-section"><h2><a name="session" id="session">Directive</a> <a name="Session" id="Session">Session</a></h2>
400 <table class="directive">
401 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ouvre une session pour le contexte courant</td></tr>
402 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Session On|Off</code></td></tr>
403 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Session Off</code></td></tr>
404 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
405 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
406 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
407 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
409 <p>La directive <code class="directive">Session</code> permet d'ouvrir une
410 session pour le contexte ou conteneur courant. Les directives
411 suivantes permettent de définir où la session sera stockée et
412 comment sera assurée la confidentialité.</p>
415 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
416 <div class="directive-section"><h2><a name="sessionenv" id="sessionenv">Directive</a> <a name="SessionEnv" id="SessionEnv">SessionEnv</a></h2>
417 <table class="directive">
418 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le contenu de la session doit être enregistré
419 dans la variable d'environnement <var>HTTP_SESSION</var></td></tr>
420 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionEnv On|Off</code></td></tr>
421 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionEnv Off</code></td></tr>
422 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
423 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
424 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
425 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
427 <p>Lorsque la directive <code class="directive">SessionEnv</code> est
428 définie à <var>On</var>, le contenu de la session est enregistré
429 dans une variable d'environnement CGI nommée
430 <var>HTTP_SESSION</var>.</p>
432 <p>La chaîne est écrite sous le même format que celui de la chaîne
433 d'arguments d'une URL, comme dans l'exemple suivant :</p>
435 <div class="example"><p><code>
436 <code>clé1=foo&clé3=bar</code>
441 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
442 <div class="directive-section"><h2><a name="sessionexclude" id="sessionexclude">Directive</a> <a name="SessionExclude" id="SessionExclude">SessionExclude</a></h2>
443 <table class="directive">
444 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URLs pour lesquels une session sera
446 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExclude <var>chemin</var></code></td></tr>
447 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
448 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
449 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
450 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
452 <p>La directive <code class="directive">SessionExclude</code> permet de
453 définir les préfixes d'URLs pour lesquels la session sera
454 désactivée. Ceci peut améliorer l'efficacité d'un site web, en
455 ciblant de manière plus précise l'espace d'URL pour lequel une
456 session devra être maintenue. Par défaut, toutes les URLs du
457 contexte ou du conteneur courant sont incluses dans la session. La
458 directive <code class="directive"><a href="#sessionexclude">SessionExclude</a></code>
459 l'emporte sur la directive <code class="directive"><a href="#sessioninclude">SessionInclude</a></code>.</p>
461 <div class="warning"><h3>Avertissement</h3>
462 <p>Cette directive a un comportement similaire à celui de l'attribut
463 <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
464 avec cet attribut. En effet, cette directive ne définit pas
465 l'attribut <var>chemin</var>, qui doit être configuré
466 séparément.</p></div>
469 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
470 <div class="directive-section"><h2><a name="sessionheader" id="sessionheader">Directive</a> <a name="SessionHeader" id="SessionHeader">SessionHeader</a></h2>
471 <table class="directive">
472 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Importation des mises à jour de session depuis l'en-tête de
473 réponse HTTP spécifié</td></tr>
474 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionHeader <var>en-tête</var></code></td></tr>
475 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
476 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
477 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
478 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
479 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
481 <p>La directive <code class="directive">SessionHeader</code> permet de
482 définir le nom d'un en-tête de réponse HTTP qui, s'il est présent,
483 sera lu et son contenu écrit dans la session courante.</p>
485 <p>Le contenu de l'en-tête doit se présenter sous le même format que
486 celui de la chaîne d'arguments d'une URL, comme dans l'exemple
489 <div class="example"><p><code>
490 <code>clé1=foo&clé2=&clé3=bar</code>
493 <p>Si une clé a pour valeur la chaîne vide, elle sera supprimée de
498 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
499 <div class="directive-section"><h2><a name="sessioninclude" id="sessioninclude">Directive</a> <a name="SessionInclude" id="SessionInclude">SessionInclude</a></h2>
500 <table class="directive">
501 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URL pour lesquels une session est
503 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionInclude <var>chemin</var></code></td></tr>
504 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>toutes URLs</code></td></tr>
505 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
506 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
507 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
508 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
510 <p>La directive <code class="directive">SessionInclude</code> permet de
511 définir les préfixes d'URL spécifiques pour lesquels une session
512 sera valide. Ceci peut améliorer l'efficacité d'un site web, en
513 ciblant de manière plus précise l'espace d'URL pour lequel une
514 session devra être maintenue. Par défaut, toutes les URLs du
515 contexte ou du conteneur courant sont incluses dans la session.</p>
517 <div class="warning"><h3>Avertissement</h3>
518 <p>Cette directive a un comportement similaire à celui de l'attribut
519 <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
520 avec cet attribut. En effet, cette directive ne définit pas
521 l'attribut <var>chemin</var>, qui doit être configuré séparément.</p></div>
524 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
525 <div class="directive-section"><h2><a name="sessionmaxage" id="sessionmaxage">Directive</a> <a name="SessionMaxAge" id="SessionMaxAge">SessionMaxAge</a></h2>
526 <table class="directive">
527 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie maximale pour la session en
529 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionMaxAge <var>durée de vie maximale</var></code></td></tr>
530 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionMaxAge 0</code></td></tr>
531 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
532 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
533 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
534 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
536 <p>La directive <code class="directive">SessionMaxAge</code> permet de
537 définir la durée maximale pendant laquelle une session restera
538 valide. Lorsqu'une session est sauvegardée, cette durée est
539 réinitialisée et la session peut continuer d'exister. Si la durée
540 d'une session dépasse cette limite sans qu'une requête au serveur ne
541 vienne la rafraîchir, la session va passer hors délai et sera
542 supprimée. Lorsqu'une session est utilisée pour stocker les
543 informations de connexion d'un utilisateur, ceci aura pour effet de
544 le déconnecter automatiquement après le délai spécifié.</p>
546 <p>Donner à cette directive la valeur 0 empêche l'expiration de la
551 <div class="bottomlang">
552 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English"> en </a> |
553 <a href="../fr/mod/mod_session.html" title="Français"> fr </a></p>
554 </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>
555 <script type="text/javascript"><!--//--><![CDATA[//><!--
556 var comments_shortname = 'httpd';
557 var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_session.html';
559 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
560 d.write('<div id="comments_thread"><\/div>');
561 var s = d.createElement('script');
562 s.type = 'text/javascript';
564 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
565 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
568 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
570 })(window, document);
571 //--><!]]></script></div><div id="footer">
572 <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
573 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.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[//><!--
574 if (typeof(prettyPrint) !== 'undefined') {