env.html.fr revision 3f08db06526d6901aa08c110b5bc7dde6bc39905
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Apache et les variables d'environnement - Serveur Apache HTTP</title>
<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="/images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="/images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache et les variables d'environnement</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="/en/env.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/env.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/env.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="/tr/env.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div>
<p>Deux types de variables d'environnement affectent le serveur
HTTP Apache.</p>
<p>Le premier type correspond aux variables d'environnement
contr�l�es par le syst�me d'exploitation sous-jacent et d�finies
avant le d�marrage du serveur. Leurs valeurs peuvent �tre utilis�es
directement dans les fichiers de configuration, et peuvent
�ventuellement �tre transmises aux scripts CGI et SSI via la
directive PassEnv.</p>
<p>Le second type correspond aux variables nomm�es appel�es aussi
<em>variables d'environnement</em> dans lesquelles le serveur HTTP
Apache stocke des informations via un m�canisme sp�cial. Ces
informations peuvent servir � contr�ler diverses op�rations comme
l'enregistrement des traces ou le contr�le d'acc�s. On utilise aussi ces
variables dans le m�canisme de communication avec les programmes externes
comme les scripts CGI. Ce document pr�sente diff�rentes m�thodes pour
manipuler et utiliser ces variables.</p>
<p>Bien que ces variables soient r�f�renc�es comme <em>variables
d'environnement</em>, il ne faut pas les confondre avec les variables
d'environnement contr�l�es par le syst�me d'exploitation sous-jacent.
En fait, ces variables sont stock�es et manipul�es dans une structure
interne � Apache. Elles ne deviennent de v�ritables variables
d'environnement du syst�me d'exploitation que lorsqu'elles sont mises � la
disposition de scripts CGI et de scripts inclus c�t� serveur (SSI). Si vous
souhaitez manipuler l'environnement du syst�me d'exploitation sous lequel
le serveur s'ex�cute, vous devez utiliser les m�canismes standards de
manipulation de l'environnement fournis par l'interpr�teur de commandes
(shell) de votre syst�me d'exploitation.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#setting">D�finition des variables d'environnement</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#using">Utilisation des variables d'environnement</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#special">Variables d'environnement � usage sp�cial</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#examples">Exemples</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="setting" id="setting">D�finition des variables d'environnement</a></h2>
<table class="related"><tr><th>Modules Apparent�s</th><th>Directives Apparent�es</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="/mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="/mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="/mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="/mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="/mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="/mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table>
<h3><a name="basic-manipulation" id="basic-manipulation">Manipulations de base de l'environnement</a></h3>
<p>La m�thode la plus �l�mentaire pour d�finir une variable
d'environnement au niveau d'Apache consiste � utiliser la directive
inconditionnelle <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code>. Les variables peuvent aussi �tre transmises depuis
l'environnement du shell � partir duquel le serveur a �t� d�marr� en
utilisant la directive
<code class="directive"><a href="/mod/mod_env.html#passenv">PassEnv</a></code>.</p>
<h3><a name="conditional" id="conditional">D�finitions conditionnelles en fonction des requ�tes</a></h3>
<p>Pour plus de souplesse, les directives fournies par le module
<code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code> permettent de d�finir les
variables d'environnement en tenant compte des caract�ristiques
de chaque requ�te. Par exemple, une
variable pourrait n'�tre d�finie que lorsqu'un navigateur sp�cifique
(User-Agent) a g�n�r� la requ�te, ou seulement quand un en-t�te
Referer particulier est pr�sent. La directive
<code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> du module
<code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> qui utilise l'option
<code>[E=...]</code> pour d�finir
les variables d'environnement apporte encore plus de souplesse.</p>
<h3><a name="unique-identifiers" id="unique-identifiers">Identifiants uniques</a></h3>
<p>Finalement, le module <code class="module"><a href="/mod/mod_unique_id.html">mod_unique_id</a></code> d�finit la variable
d'environnement <code>UNIQUE_ID</code> pour chaque requ�te � une valeur
qui est garantie unique parmi "toutes" les requ�tes sous des
conditions tr�s sp�cifiques.</p>
<h3><a name="standard-cgi" id="standard-cgi">Variables CGI standards</a></h3>
<p>En plus de l'ensemble des variables d'environnement internes � la
configuration d'Apache et de celles transmises depuis le shell,
les scripts CGI et les pages SSI
se voient affect�s un ensemble de variables
d'environnement contenant des m�ta-informations � propos de la requ�te
comme pr�conis� dans la
<a href="http://www.ietf.org/rfc/rfc3875">sp�cification
sur les CGIs</a>.</p>
<h3><a name="caveats" id="caveats">Quelques mises en garde</a></h3>
<ul>
<li>Les directives de manipulation de l'environnement ne permettent
pas de supplanter ou modifier les variables CGI standards.</li>
<li>Lorsqu'on utilise <code class="program"><a href="/programs/suexec.html">suexec</a></code> pour ex�cuter des
scripts CGI, l'environnement est nettoy� et r�duit � un ensemble de
variables <em>s�res</em> avant l'ex�cution du script. La liste des
variables <em>s�res</em> est d�finie � la compilation dans
<code>suexec.c</code>.</li>
<li>Pour des raisons de portabilit�, les noms des variables
d'environnement ne peuvent contenir que des lettres, des chiffres, et
le caract�re "souslign�". En outre, le premier caract�re ne doit pas
�tre un chiffre. Les caract�res qui ne satisfont pas � ces conditions
seront remplac�s par un caract�re "souslign�" quand ils seront
transmis aux scripts CGI et aux pages SSI.</li>
<li>Les contenus d'en-t�tes HTTP transmis aux scripts de type
CGI ou autre via des variables d'environnement constituent un
cas particulier (voir plus loin). Leur nom est converti en
majuscules et seuls les tirets sont remplac�s par des
caract�res '_' ("soulign�") ; si le format du nom de l'en-t�te
n'est pas valide, celui-ci est ignor�. Voir <a href="#fixheader">plus loin</a> pour une solution de
contournement du probl�me.</li>
<li>La directive <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code> s'ex�cute assez tard au
cours du traitement de la requ�te, ce qui signifie que des
directives telles que <code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> et <code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ne verront pas
les variables qu'elle aura d�finies.</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="using" id="using">Utilisation des variables d'environnement</a></h2>
<table class="related"><tr><th>Modules Apparent�s</th><th>Directives Apparent�es</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_authz_host.html">mod_authz_host</a></code></li><li><code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="/mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="/mod/mod_headers.html">mod_headers</a></code></li><li><code class="module"><a href="/mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="/mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_authz_host.html#allow">Allow</a></code></li><li><code class="directive"><a href="/mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="/mod/mod_authz_host.html#deny">Deny</a></code></li><li><code class="directive"><a href="/mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="/mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="/mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table>
<h3><a name="cgi-scripts" id="cgi-scripts">Scripts CGI</a></h3>
<p>La communication d'informations aux scripts CGI constitue une des
principales utilisations des variables d'environnement. Comme indiqu�
plus haut, l'environnement transmis aux scripts CGI comprend des
m�ta-informations standards � propos de la requ�te, en plus des
variables d�finies dans la configuration d'Apache. Pour plus de
d�tails, se r�f�rer au
<a href="howto/cgi.html">tutoriel CGI</a>.</p>
<h3><a name="ssi-pages" id="ssi-pages">Pages SSI</a></h3>
<p>Les documents inclus c�t� serveur (SSI) trait�s par le filtre
<code>INCLUDES</code> du module <code class="module"><a href="/mod/mod_include.html">mod_include</a></code>,
peuvent afficher les
variables d'environnement � l'aide de l'�l�ment <code>echo</code>,
et peuvent utiliser des variables d'environnement dans les �l�ments
de contr�le de flux pour rendre certaines parties d'une page
conditionnelles en fonction des caract�ristiques de la requ�te.
Apache fournit aussi les variables d'environnement CGI standards
aux pages SSI
comme indiqu� plus haut. Pour plus de d�tails, se r�f�rer au
<a href="howto/ssi.html">tutoriel SSI</a>.</p>
<h3><a name="access-control" id="access-control">Contr�le d'acc�s</a></h3>
<p>L'acc�s au serveur peut �tre contr�l� en fonction de la valeur de
variables d'environnement � l'aide des directives
<code>allow from env=</code> et <code>deny from env=</code>.
En association avec la directive
<code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci conf�re une
grande souplesse au contr�le d'acc�s au serveur en fonction des
caract�ristiques du client. Par exemple, vous pouvez utiliser ces
directives pour interdire l'acc�s depuis un navigateur particulier
(User-Agent).
</p>
<h3><a name="logging" id="logging">Enregistrement conditionnel des traces</a></h3>
<p>Les variables d'environnement peuvent �tre enregistr�es dans le
fichier de log des acc�s � l'aide de l'option <code>%e</code> de la
directive <code class="directive"><a href="/mod/mod_log_config.html#logformat">LogFormat</a></code>.
En outre, la d�cision de tracer ou non les requ�tes peut �tre prise
en fonction de l'�tat de variables d'environnement en utilisant la
forme conditionnelle de la directive
<code class="directive"><a href="/mod/mod_log_config.html#customlog">CustomLog</a></code>. En
association avec la directive <code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci conf�re une grande souplesse au contr�le
du tra�age des requ�tes. Par exemple, vous pouvez choisir de ne pas
tracer les requ�tes pour des noms de fichiers se terminant par
<code>gif</code>, ou encore de ne tracer que les requ�tes des clients
n'appartenant pas � votre sous-r�seau.</p>
<h3><a name="response-headers" id="response-headers">En-t�tes de r�ponse conditionnels</a></h3>
<p>La directive <code class="directive"><a href="/mod/mod_headers.html#header">Header</a></code>
peut se baser sur la pr�sence ou l'absence d'une variable
d'environnement pour d�cider si un certain en-t�te HTTP sera plac�
dans la r�ponse au client. Ceci permet, par exemple, de n'envoyer un
certain en-t�te de r�ponse que si un en-t�te correspondant est pr�sent
dans la requ�te du client.</p>
<h3><a name="external-filter" id="external-filter">Activation de filtres externes</a></h3>
<p>Les filtres externes configur�s par le module
<code class="module"><a href="/mod/mod_ext_filter.html">mod_ext_filter</a></code> � l'aide de la directive <code class="directive"><a href="/mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> peuvent �tre
activ�s de mani�re conditionnelle en fonction d'une variable
d'environnement � l'aide des options
<code>disableenv=</code> et <code>enableenv=</code>.</p>
<h3><a name="url-rewriting" id="url-rewriting">R��criture d'URL</a></h3>
<p>La forme <code>%{ENV:<em>variable</em>}</code> de
<em>TestString</em> dans la
directive <code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
permet au moteur de r��criture du module
<code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> de prendre des
d�cisions conditionn�es par des variables d'environnement.
Notez que les variables accessibles dans
<code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> sans le pr�fixe
<code>ENV:</code> ne sont pas de v�ritables variables
d'environnement. Ce sont plut�t des variables sp�cifiques �
<code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code>
qui ne sont pas accessibles pour les autres modules.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="special" id="special">Variables d'environnement � usage sp�cial</a></h2>
<p>Des probl�mes d'interop�rabilit� ont conduit � l'introduction de
m�canismes permettant de modifier le comportement d'Apache lorsqu'il
dialogue avec certains clients. Afin de rendre ces m�canismes aussi
souples que possible, ils sont invoqu�s en d�finissant des variables
d'environnement, en g�n�ral � l'aide de la directive
<code class="directive"><a href="/mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, bien que les
directives <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code> et
<code class="directive"><a href="/mod/mod_env.html#passenv">PassEnv</a></code> puissent aussi �tre
utilis�es, par exemple.</p>
<h3><a name="downgrade" id="downgrade">downgrade-1.0</a></h3>
<p>Ceci force le traitement d'une requ�te comme une requ�te HTTP/1.0
m�me si elle a �t� r�dig�e dans un langage plus r�cent.</p>
<h3><a name="force-gzip" id="force-gzip">force-gzip</a></h3>
<p>Si le filtre <code>DEFLATE</code> est activ�, cette variable
d'environnement ignorera les r�glages accept-encoding de votre
navigateur et enverra une sortie compress�e inconditionnellement.</p>
<h3><a name="force-no-vary" id="force-no-vary">force-no-vary</a></h3>
<p>Cette variable entra�ne la suppression de tout champ
<code>Vary</code> des en-t�tes de la r�ponse avant que cette derni�re
soit renvoy�e au client. Certains clients n'interpr�tent pas ce champ
correctement, et la d�finition de cette variable permet de contourner
ce probl�me, mais implique aussi la d�finition de
<strong>force-response-1.0</strong>.</p>
<h3><a name="force-response" id="force-response">force-response-1.0</a></h3>
<p>Cette variable force une r�ponse en langage HTTP/1.0 aux clients
qui envoient des requ�tes dans le m�me langage. Elle fut impl�ment�e �
l'origine suite � des probl�mes avec les mandataires d'AOL. Certains
clients en langage HTTP/1.0 ne r�agissent pas correctement face � une
r�ponse en langage HTTP/1.1, et cette variable peut �tre utilis�e pour
assurer l'interop�rabilit� avec eux.</p>
<h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3>
<p>Positionn�e � "1", cette variable d�sactive le filtre en sortie
<code>DEFLATE</code> fourni par le module <code class="module"><a href="/mod/mod_deflate.html">mod_deflate</a></code> pour les
types de contenu autres que <code>text/html</code>. Si vous pr�f�rez
utiliser des fichiers compress�s statiquement,
<code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> �value aussi la variable (non
seulement pour gzip, mais aussi pour tous les encodages autres que
"identity").</p>
<h3><a name="no-gzip" id="no-gzip">no-gzip</a></h3>
<p>Quand cette variable est d�finie, le filtre <code>DEFLATE</code> du
module <code class="module"><a href="/mod/mod_deflate.html">mod_deflate</a></code> est d�sactiv�, et
<code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> refusera de d�livrer des ressources
encod�es.</p>
<h3><a name="no-cache" id="no-cache">no-cache</a></h3>
<p><em>Disponible dans les versions 2.2.12 et ult�rieures d'Apache</em></p>
<p>Lorsque cette variable est d�finie,
<code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ne sauvegardera pas de r�ponse
susceptible d'�tre mise en cache. Cette variable d'environnement
n'a aucune incidence sur le fait qu'une r�ponse d�j� enregistr�e
dans la cache soit utilis�e ou non pour la requ�te courante.</p>
<h3><a name="nokeepalive" id="nokeepalive">nokeepalive</a></h3>
<p>Quand cette variable est d�finie, la directive
<code class="directive"><a href="/mod/core.html#keepalive">KeepAlive</a></code> est d�sactiv�e.</p>
<h3><a name="prefer-language" id="prefer-language">prefer-language</a></h3>
<p>Cette variable modifie le comportement du module
<code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code>. Si elle contient un symbole de
langage (tel que <code>en</code>, <code>ja</code>
ou <code>x-klingon</code>), <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> essaie de
d�livrer une variante dans ce langage. S'il n'existe pas de telle
variante, le processus normal de
<a href="content-negotiation.html">n�gociation</a> s'applique.</p>
<h3><a name="redirect-carefully" id="redirect-carefully">redirect-carefully</a></h3>
<p>Cette variable force le serveur � �tre plus prudent lors de l'envoi
d'une redirection au client. Elle est en g�n�ral utilis�e quand un
client pr�sente un probl�me connu avec les redirections. Elle fut
impl�ment�e � l'origine suite a un probl�me rencontr� avec le logiciel
WebFolders de Microsoft qui ne g�re pas correctement les redirections
vers des ressources de type r�pertoire via des m�thodes DAV.</p>
<h3><a name="suppress-error-charset" id="suppress-error-charset">suppress-error-charset</a></h3>
<p><em>Disponible dans les versions post�rieures � 2.0.54</em></p>
<p>Quand Apache g�n�re une redirection en r�ponse � une requ�te client,
la r�ponse inclut un texte destin� � �tre affich� au cas o� le client ne
suivrait pas, ou ne pourrait pas suivre automatiquement la redirection.
Habituellement, Apache marque ce texte en accord avec le jeu de caract�res
qu'il utilise, � savoir ISO-8859-1.</p>
<p> Cependant, si la redirection fait r�f�rence � une page qui utilise un
jeu de caract�res diff�rent, certaines versions de navigateurs obsol�tes
essaieront d'utiliser le jeu de caract�res du texte de la redirection
plut�t que celui de la page r�elle.
Ceci peut entra�ner, par exemple, un rendu incorrect du Grec.</p>
<p>Si cette variable d'environnement est d�finie, Apache omettra le jeu de
caract�res pour le texte de la redirection, et les navigateurs obsol�tes
pr�cit�s utiliseront correctement celui de la page de destination.</p>
<div class="warning">
<h3>Note concernant la s�curit�</h3>
<p>L'envoi de pages d'erreur sans sp�cifier un jeu de caract�res peut
conduire � des attaques de type "cross-site-scripting" pour les
navigateurs qui ne respectent pas la sp�cification HTTP/1.1 (MSIE) et
tentent de d�duire le jeu de caract�res � partir du contenu. De tels
navigateurs peuvent �tre facilement tromp�s et utiliser le jeu de
caract�res UTF-7 ; les contenus des donn�es en entr�e de type UTF-7
(comme les URI de requ�te) ne seront alors plus prot�g�s par les
m�canismes d'�chappement usuels con�us pour pr�venir les attaques
de type "cross-site-scripting".</p>
</div>
<h3><a name="proxy" id="proxy">force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked,
proxy-sendcl, proxy-chain-auth, proxy-interim-response, proxy-initial-not-pooled</a></h3>
<p>Ces directives modifient le comportement protocolaire du module
<code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>. Voir la documentation sur
<code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="/mod/mod_proxy_http.html">mod_proxy_http</a></code> pour plus de d�tails.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Exemples</a></h2>
<h3><a name="fixheader" id="fixheader">Transmission du contenu d'en-t�tes non valides aux scripts
CGI</a></h3>
<p>Avec la version 2.4, Apache est plus strict avec la conversion
des en-t�tes HTTP en variables d'environnement dans
<code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code> et d'autres modules : dans les versions
pr�c�dentes, tout caract�re invalide dans les noms d'en-t�tes
�tait tout simplement remplac� par un caract�re '_', ce qui
pouvait exposer � des attaques de type cross-site-scripting via
injection d'en-t�tes (voir <a href="http://events.ccc.de/congress/2007/Fahrplan/events/2212.en.html">Bogues
du Web inhabituelles</a>, planche 19/20).</p>
<p>Si vous devez supporter un client qui envoie des en-t�tes non
conformes et si ceux-ci ne peuvent pas �tre corrig�s, il existe
une solution de contournement simple mettant en jeu les modules
<code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code> et <code class="module"><a href="/mod/mod_header.html">mod_header</a></code>,
et permettant de prendre en compte ces en-t�tes :</p>
<div class="example"><p><code>
# <br />
# L'exemple suivant montre comment prendre en compte un en-t�te<br />
# Accept_Encoding non conforme envoy� par un client.<br />
#<br />
SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1<br />
RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding
</code></p></div>
<h3><a name="misbehaving" id="misbehaving">Modification du comportement protocolaire face � des clients
r�agissant de mani�re non conforme</a></h3>
<p>Les versions ant�rieures recommandaient l'ajout de ces lignes dans
httpd.conf pour tenir compte de probl�mes connus avec certains clients.
Comme les clients concern�s sont maintenant tr�s peu utilis�s, cet
ajout n'est pratiquement plus n�cessaire.</p>
<div class="example"><p><code>
#<br />
# The following directives modify normal HTTP response behavior.<br />
# The first directive disables keepalive for Netscape 2.x and browsers that<br />
# spoof it. There are known problems with these browser implementations.<br />
# The second directive is for Microsoft Internet Explorer 4.0b2<br />
# which has a broken HTTP/1.1 implementation and does not properly<br />
# support keepalive when it is used on 301 or 302 (redirect) responses.<br />
#<br />
BrowserMatch "Mozilla/2" nokeepalive<br />
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0<br />
<br />
#<br />
# The following directive disables HTTP/1.1 responses to browsers which<br />
# are in violation of the HTTP/1.0 spec by not being able to grok a<br />
# basic 1.1 response.<br />
#<br />
BrowserMatch "RealPlayer 4\.0" force-response-1.0<br />
BrowserMatch "Java/1\.0" force-response-1.0<br />
BrowserMatch "JDK/1\.0" force-response-1.0
</code></p></div>
<h3><a name="no-img-log" id="no-img-log">Ne pas tracer les requ�tes pour des images dans le fichier de
trace des acc�s</a></h3>
<p>Dans cet exemple, les requ�tes pour des images n'apparaissent pas
dans le fichier de trace des acc�s. Il peut �tre facilement adapt� pour
emp�cher le tra�age de r�pertoires particuliers, ou de requ�tes
en provenance de certains h�tes.</p>
<div class="example"><p><code>
SetEnvIf Request_URI \.gif image-request<br />
SetEnvIf Request_URI \.jpg image-request<br />
SetEnvIf Request_URI \.png image-request<br />
CustomLog logs/access_log common env=!image-request
</code></p></div>
<h3><a name="image-theft" id="image-theft">Pr�vention du "Vol d'image"</a></h3>
<p>Cet exemple montre comment emp�cher les utilisateurs ne faisant pas
partie de votre serveur d'utiliser des images de votre serveur comme
images en ligne dans leurs pages. Cette configuration n'est pas
recommand�e, mais elle peut fonctionner dans des circonstances bien
d�finies. Nous supposons que toutes vos images sont enregistr�es dans
un r�pertoire nomm� <code>/web/images</code>.</p>
<div class="example"><p><code>
SetEnvIf Referer "^http://www\.example\.com/" local_referal<br />
# Allow browsers that do not send Referer info<br />
SetEnvIf Referer "^$" local_referal<br />
&lt;Directory /web/images&gt;<br />
<span class="indent">
Order Deny,Allow<br />
Deny from all<br />
Allow from env=local_referal
</span>
&lt;/Directory&gt;
</code></p></div>
<p>Pour plus d'informations sur cette technique, voir le tutoriel sur
ServerWatch
"<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Keeping Your Images from Adorning Other Sites</a>".</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="/en/env.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/env.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/env.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="/tr/env.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p></div>
</body></html>