From 6beeb1b708550be0d4a53b272283e17e5e35fe17 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:01:30 +0200 Subject: Adding upstream version 2.4.57. Signed-off-by: Daniel Baumann --- docs/manual/mod/mod_session.html.fr.utf8 | 619 +++++++++++++++++++++++++++++++ 1 file changed, 619 insertions(+) create mode 100644 docs/manual/mod/mod_session.html.fr.utf8 (limited to 'docs/manual/mod/mod_session.html.fr.utf8') diff --git a/docs/manual/mod/mod_session.html.fr.utf8 b/docs/manual/mod/mod_session.html.fr.utf8 new file mode 100644 index 0000000..8f1a180 --- /dev/null +++ b/docs/manual/mod/mod_session.html.fr.utf8 @@ -0,0 +1,619 @@ + + + + + +mod_session - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_session

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support des sessions
Statut:Extension
Identificateur de Module:session_module
Fichier Source:mod_session.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Avertissement

+

Le module session fait usage des cookies HTTP, et peut à ce + titre être victime 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 module fournit le support d'une interface de session pour + chaque utilisateur au niveau du serveur global. Les sessions + permettent de transmettre diverses informations : l'utilisateur + est-il connecté ou non, ou toute autre information qui doit être + conservée d'une requête à l'autre.

+ +

Les sessions peuvent être stockées sur le serveur, ou au niveau + du navigateur. Les sessions peuvent également être chiffrées pour une + sécurité accrue. Ces fonctionnalités sont réparties entre différents + modules complémentaires de mod_session : + mod_session_crypto, + mod_session_cookie et + mod_session_dbd. Chargez les modules appropriés + en fonction des besoins du serveur (soit statiquement à la + compilation, soit dynamiquement via la directive LoadModule).

+ +

Les sessions peuvent être manipulées par d'autres modules qui + dépendent de la session, ou la session peut être lue et écrite dans + des variables d'environnement et des en-têtes HTTP, selon les + besoins.

+ +
+ +
top
+
+

Qu'est-ce qu'une session ?

+

Au coeur de l'interface de session se trouve une table de + paires clé/valeur qui sont accessibles d'une requête du navigateur + à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne + de caractères valide, en fonction des besoins de l'application qui + fait usage de la session.

+ +

Une "session" est une chaîne + application/x-www-form-urlencoded qui contient la + paire clé/valeur définie par la spécification HTML.

+ +

Selon les souhaits de l'administrateur, la session peut être + chiffrée et codée en base64 avant d'être soumise au dispositif de + stockage.

+ +
top
+
+

Qui peut utiliser une session + ?

+

L'interface de session a été conçue à l'origine pour être + utilisée par d'autres modules du serveur comme + mod_auth_form ; les applications à base de + programmes CGI peuvent cependant se voir accorder l'accès au + contenu d'une session via la variable d'environnement + HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour + une session en insérant un en-tête de réponse HTTP contenant les + nouveaux paramètres de session.

+ +
top
+
+

Stockage des sessions sur le + serveur

+

Apache peut être configuré pour stocker les sessions + utilisateurs sur un serveur particulier ou un groupe de serveurs. + Cette fonctionnalité est similaire aux sessions disponibles sur + les serveurs d'applications courants.

+ +

Selon la configuration, les sessions sont suivies à + partir d'un identifiant de session stocké dans un cookie, ou + extraites de la chaîne de paramètres de l'URL, comme dans les + requêtes GET courantes.

+ +

Comme le contenu de la session est stocké exclusivement sur le + serveur, il est nécessaire de préserver la confidentialité de ce + contenu. Ceci a des implications en matière de performance et de + consommation de ressources lorsqu'un grand nombre de sessions est + stocké, ou lorsqu'un grand nombre de serveurs doivent se partager + les sessions entre eux.

+ +

Le module mod_session_dbd permet de stocker + les sessions utilisateurs dans une base de données SQL via le + module mod_dbd.

+ +
top
+
+

Stockage des sessions au niveau + du navigateur

+

Dans les environnements à haut trafic où le stockage d'une + session sur un serveur consomme trop + de ressources, il est possible de stocker le contenu de la session + dans un cookie au niveau du navigateur client.

+ +

Ceci a pour avantage de ne nécessiter qu'une quantité minimale de + ressources sur le serveur pour suivre les sessions, et évite à + plusieurs serveurs parmi une forêt de serveurs de devoir partager + les informations de session.

+ +

Le contenu de la session est cependant présenté au client, avec + pour conséquence un risque de perte de confidentialité. Le module + mod_session_crypto peut être configuré pour + chiffrer le contenu de la session avant qu'elle soit stockée au + niveau du client.

+ +

Le module mod_session_cookie permet de stocker + les sessions au niveau du navigateur dans un cookie HTTP.

+ +
top
+
+

Exemples simples

+ +

La création d'une session consiste simplement à ouvrir la + session, et à décider de l'endroit où elle doit être stockée. Dans + l'exemple suivant, la session sera stockée au niveau du + navigateur, dans un cookie nommé session.

+ +

Session stockée au niveau du navigateur

Session On
+SessionCookieName session path=/
+
+ +

Une session est inutile s'il n'est pas possible d'y lire + ou d'y écrire. L'exemple suivant montre comment des valeurs + peuvent être injectées dans une session à l'aide d'un en-tête de + réponse HTTP prédéterminé nommé + X-Replace-Session.

+ +

Ecriture dans une session

Session On
+SessionCookieName session path=/
+SessionHeader X-Replace-Session
+
+ +

L'en-tête doit contenir des paires clé/valeur sous le même + format que celui de la chaîne d'argument d'une URL, comme dans + l'exemple suivant. Donner pour valeur à une clé la chaîne vide a + pour effet de supprimer la clé de la session.

+ +

Script CGI pour écrire dans une session

#!/bin/bash
+echo "Content-Type: text/plain"
+echo "X-Replace-Session: key1=foo&key2=&key3=bar"
+echo
+env
+
+ +

Selon la configuration, les informations de la session peuvent + être extraites de la variable d'environnement HTTP_SESSION. Par + défaut la session est privée, et cette fonctionnalité doit donc + être explicitement activée via la directive SessionEnv.

+ +

Lecture depuis une session

Session On
+SessionEnv On
+SessionCookieName session path=/
+SessionHeader X-Replace-Session
+
+ +

Une fois la lecture effectuée, la variable CGI + HTTP_SESSION doit contenir la valeur + clé1=foo&clé3=bar.

+ +
top
+
+

Confidentialité des + sessions

+ +

En utilisant la fonctionnalité de votre navigateur "Afficher + les cookies", vous pouvez voir une réprésentation de la session + sous forme de texte en clair. Ceci peut poser problème si le + contenu de la session doit être dissimulé à l'utilisateur final, + ou si un tiers accède sans autorisation aux informations de + session.

+ +

À ce titre, le contenu de la session peut être chiffré à l'aide + du module mod_session_crypto avant d'être stocké + au niveau du navigateur.

+ +

Session chiffrée avant stockage au niveau du + navigateur

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/
+
+ +

La session sera automatiquement déchiffrée à la lecture, et + rechiffrée par Apache lors de la sauvegarde, si bien que + l'application sous-jacente qui utilise la session n'a pas à se + préoccuper de savoir si un chiffrement a été mis en oeuvre ou + non.

+ +

Les sessions stockées sur le serveur plutôt qu'au niveau du + navigateur peuvent aussi être chiffrées, préservant par là-même la + confidentialité lorsque des informations sensibles sont partagées + entre les serveurs web d'une forêt de serveurs à l'aide du module + mod_session_dbd.

+ +
top
+
+

Confidentialité du cookie

+ +

Le mécanisme de cookie HTTP offre aussi des fonctionnalités + quant à la confidentialité, comme la possibilité de + restreindre le transport du cookie aux pages protégées par SSL + seulement, ou l'interdiction pour les scripts java qui + s'exécutent au niveau du navigateur d'obtenir l'accès au contenu + du cookie.

+ +

Avertissement

+

Certaines fonctionnalités de confidentialité du cookie HTTP ne + sont pas standardisées, ou ne sont pas toujours implémentées au + niveau du navigateur. Les modules de session vous permettent de + définir les paramètres du cookie, mais il n'est pas garanti que la + confidentialité sera respectée par le navigateur. Si la sécurité + est la principale préoccupation, chiffrez le contenu de la session + avec le module mod_session_crypto, ou stockez la + session sur le serveur avec le module + mod_session_dbd.

+
+ +

Les paramètres standards du cookie peuvent être spécifiés après + le nom du cookie comme dans l'exemple suivant :

+ +

Définition des paramètres du cookie

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/private;domain=example.com;httponly;secure;
+
+ +

Dans les cas où le serveur Apache sert de frontal pour des + serveurs d'arrière-plan, il est possible de supprimer les cookies + de session des en-têtes HTTP entrants à l'aide de la directive + SessionCookieRemove. Ceci + permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu + des cookies de session. +

+ +
top
+
+

Support des sessions pour + l'authentification

+ +

Comme il est possible de le faire avec de nombreux serveurs + d'applications, les modules d'authentification peuvent utiliser + une session pour stocker le nom d'utilisateur et le mot de passe + après connexion. Le module mod_auth_form par + exemple, sauvegarde les nom de connexion et mot de passe de + l'utilisateur dans une session.

+ +

Authentification à base de formulaire

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/
+AuthFormProvider file
+AuthUserFile "conf/passwd"
+AuthType form
+AuthName "realm"
+#...
+
+ +

Pour la documentation et des exemples complets, voir le module + mod_auth_form.

+ +
top
+
+

Intégration des sessions avec les + applications externes

+ +

Pour que les sessions soient utiles, leur contenu doit être + accessible aux applications externes, et ces dernières doivent + elles-mêmes être capables d'écrire une session.

+ +

L'exemple type est une application qui modifie le mot de passe + d'un utilisateur défini par mod_auth_form. Cette + application doit pouvoir extraire les nom d'utilisateur et mot de + passe courants de la session, effectuer les modifications + demandées, puis écrire le nouveau mot de passe dans la session, + afin que la transition vers le nouveau mot de passe soit + transparente.

+ +

Un autre exemple met en jeu une application qui enregistre un + nouvel utilisateur pour la première fois. Une fois + l'enregistrement terminé, le nom d'utilisateur et le mot de passe + sont écrits dans la session, fournissant là aussi une transition + transparente.

+ +
+
Modules Apache
+
Selon les besoins, les modules du serveur peuvent utiliser + l'API mod_session.h pour lire et écrire dans les + sessions. Les modules tels que mod_auth_form + utilisent ce mécanisme. +
+ +
Programmes CGI et langages de script
+
Les applications qui s'exécutent au sein du serveur web + peuvent éventuellement extraire la valeur de la session de la + variable d'environnement HTTP_SESSION. La session + doit être codée sous la forme d'une chaîne + application/x-www-form-urlencoded selon les + préconisations de la specification HTML. Cette + variable d'environnement est définie via la directive SessionEnv. Un script peut écrire + dans la session en renvoyant un en-tête de réponse + application/x-www-form-urlencoded dont le nom est + défini via la directive SessionHeader. Dans les deux cas, + tout chiffrement ou déchiffrement, ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module mod_session et la + configuration correspondante. +
+ +
Applications situées derrière mod_proxy
+
Si la directive SessionHeader est utilisée pour + définir un en-tête de requête HTTP, la session codée sous la forme + d'une chaîne application/x-www-form-urlencoded + sera accessible pour l'application. Si ce même en-tête est fourni + dans la réponse, sa valeur sera utilisée pour remplacer la + session. Comme précédemment, tout chiffrement ou déchiffrement, + ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module mod_session et la + configuration correspondante.
+ +
Applications indépendantes
+
Les applications peuvent choisir de manipuler la session en + s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas, + c'est l'application qui doit prendre en charge la lecture de la + session depuis le mécanisme de stockage choisi, son déchiffrement, + sa mise à jour, son chiffrement et sa réécriture vers le mécanisme + de stockage choisi de manière appropriée.
+
+ +
+
top
+

Directive Session

+ + + + + + + + +
Description:Ouvre une session pour le contexte courant
Syntaxe:Session On|Off
Défaut:Session Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

La directive Session permet d'ouvrir une + session pour le contexte ou conteneur courant. Les directives + suivantes permettent de définir où la session sera stockée et + comment sera assurée la confidentialité.

+ +
+
top
+

Directive SessionEnv

+ + + + + + + + +
Description:Définit si le contenu de la session doit être enregistré +dans la variable d'environnement HTTP_SESSION
Syntaxe:SessionEnv On|Off
Défaut:SessionEnv Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

Lorsque la directive SessionEnv est + définie à On, le contenu de la session est enregistré + dans une variable d'environnement CGI nommée + HTTP_SESSION.

+ +

La chaîne est écrite sous le même format que celui de la chaîne + d'arguments d'une URL, comme dans l'exemple suivant :

+ +

+ clé1=foo&clé3=bar +

+ + +
+
top
+

Directive SessionExclude

+ + + + + + + +
Description:Définit les préfixes d'URLs pour lesquels une session sera +ignorée
Syntaxe:SessionExclude chemin
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session
+

La directive SessionExclude permet de + définir les préfixes d'URLs pour lesquels la session sera + désactivée. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session. La + directive SessionExclude + l'emporte sur la directive SessionInclude.

+ +

Avertissement

+

Cette directive a un comportement similaire à celui de l'attribut + chemin des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut chemin, qui doit être configuré + séparément.

+ +
+
top
+

Directive SessionExpiryUpdateInterval

+ + + + + + + + +
Description:Définit le nombre de secondes dont la durée d'expiration d'une +session peut changer sans que cette session soit mise à jour
Syntaxe:SessionExpiryUpdateInterval interval
Défaut:SessionExpiryUpdateInterval 0 (mise à jour systématique)
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session
Compatibilité:Disponible à partir de la version 2.4.41 du serveur HTTP Apache
+

La directive SessionExpiryUpdateInterval + permet d'éviter le coût de l'écriture d'une session pour chaque + requête en n'effectuant cette mise à jour que lorsque la date + d'expiration a changé. Ceci permet d'améliorer les performances d'un + site web ou de réduire la charge d'une base de données lorsqu'on + utilise mod_session_dbd. La session est + systématiquement mise à jour si les données stockées dans la session + ont été modifiées ou si la durée d'expiration a été modifiée d'une + durée supérieure à l'intervalle spécifié.

+ +

Définir l'intervalle à 0 désactive cette directive, et + l'expiration de la session sera alors rafraîchie pour chaque requête.

+ +

Cette directive n'a d'effet que si on l'utilise en combinaison + avec la directive SessionMaxAge qui active + l'expiration des sessions. Les sessions sans date d'expiration ne + sont écrites que lorsque les données qu'elles renferment ont été + modifiées.

+ +

Avertissement

+

Comme l'expiration de la session n'est pas systématiquement + rafraîchie à chaque requête, une session peut arriver à expiration + plus tôt d'un nombre de secondes spécifié dans le paramètre + interval. Définir un petit intervalle est en général + assez sur, mais en revenche n'a qu'un effet minime sur la prise en + compte des durées d'expiration.

+ +
+
top
+

Directive SessionHeader

+ + + + + + + + +
Description:Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié
Syntaxe:SessionHeader en-tête
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

La directive SessionHeader permet de + définir le nom d'un en-tête de réponse HTTP qui, s'il est présent, + sera lu et son contenu écrit dans la session courante.

+ +

Le contenu de l'en-tête doit se présenter sous le même format que + celui de la chaîne d'arguments d'une URL, comme dans l'exemple + suivant :

+ +

+ clé1=foo&clé2=&clé3=bar +

+ +

Si une clé a pour valeur la chaîne vide, elle sera supprimée de + la session.

+ + +
+
top
+

Directive SessionInclude

+ + + + + + + + +
Description:Définit les préfixes d'URL pour lesquels une session est +valide
Syntaxe:SessionInclude chemin
Défaut:toutes URLs
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

La directive SessionInclude permet de + définir les préfixes d'URL spécifiques pour lesquels une session + sera valide. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session.

+ +

Avertissement

+

Cette directive a un comportement similaire à celui de l'attribut + chemin des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut chemin, qui doit être configuré séparément.

+ +
+
top
+

Directive SessionMaxAge

+ + + + + + + + +
Description:Définit une durée de vie maximale pour la session en +secondes
Syntaxe:SessionMaxAge durée de vie maximale
Défaut:SessionMaxAge 0
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

La directive SessionMaxAge permet de + définir la durée maximale pendant laquelle une session restera + valide. Lorsqu'une session est sauvegardée, cette durée est + réinitialisée et la session peut continuer d'exister. Si la durée + d'une session dépasse cette limite sans qu'une requête au serveur ne + vienne la rafraîchir, la session va passer hors délai et sera + supprimée. Lorsqu'une session est utilisée pour stocker les + informations de connexion d'un utilisateur, ceci aura pour effet de + le déconnecter automatiquement après le délai spécifié.

+ +

Donner à cette directive la valeur 0 empêche l'expiration de la + session.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
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 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 Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3