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 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8<title>Apache et les variables d'environnement - Serveur Apache HTTP</title> 9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11<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" /> 12<script src="/style/scripts/prettify.min.js" type="text/javascript"> 13</script> 14 15<link href="/images/favicon.ico" rel="shortcut icon" /></head> 16<body id="manual-page"><div id="page-header"> 17<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> 18<p class="apache">Serveur Apache HTTP Version 2.4</p> 19<img alt="" src="/images/feather.gif" /></div> 20<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<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></div><div id="page-content"><div id="preamble"><h1>Apache et les variables d'environnement</h1> 23<div class="toplang"> 24<p><span>Langues Disponibles: </span><a href="/en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | 25<a href="/fr/env.html" title="Fran�ais"> fr </a> | 26<a href="/ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 27<a href="/ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 28<a href="/tr/env.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p> 29</div> 30 31 <p>Deux types de variables d'environnement affectent le serveur 32 HTTP Apache.</p> 33 34 <p>Le premier type correspond aux variables d'environnement 35 contr�l�es par le syst�me d'exploitation sous-jacent et d�finies 36 avant le d�marrage du serveur. Leurs valeurs peuvent �tre utilis�es 37 directement dans les fichiers de configuration, et peuvent 38 �ventuellement �tre transmises aux scripts CGI et SSI via la 39 directive PassEnv.</p> 40 41 <p>Le second type correspond aux variables nomm�es appel�es aussi 42 <em>variables d'environnement</em> dans lesquelles le serveur HTTP 43 Apache stocke des informations via un m�canisme sp�cial. Ces 44 informations peuvent servir � contr�ler diverses op�rations comme 45 l'enregistrement des traces ou le contr�le d'acc�s. On utilise aussi ces 46 variables dans le m�canisme de communication avec les programmes externes 47 comme les scripts CGI. Ce document pr�sente diff�rentes m�thodes pour 48 manipuler et utiliser ces variables.</p> 49 50 <p>Bien que ces variables soient r�f�renc�es comme <em>variables 51 d'environnement</em>, il ne faut pas les confondre avec les variables 52 d'environnement contr�l�es par le syst�me d'exploitation sous-jacent. 53 En fait, ces variables sont stock�es et manipul�es dans une structure 54 interne � Apache. Elles ne deviennent de v�ritables variables 55 d'environnement du syst�me d'exploitation que lorsqu'elles sont mises � la 56 disposition de scripts CGI et de scripts inclus c�t� serveur (SSI). Si vous 57 souhaitez manipuler l'environnement du syst�me d'exploitation sous lequel 58 le serveur s'ex�cute, vous devez utiliser les m�canismes standards de 59 manipulation de l'environnement fournis par l'interpr�teur de commandes 60 (shell) de votre syst�me d'exploitation.</p> 61 </div> 62<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#setting">D�finition des variables d'environnement</a></li> 63<li><img alt="" src="/images/down.gif" /> <a href="#using">Utilisation des variables d'environnement</a></li> 64<li><img alt="" src="/images/down.gif" /> <a href="#special">Variables d'environnement � usage sp�cial</a></li> 65<li><img alt="" src="/images/down.gif" /> <a href="#examples">Exemples</a></li> 66</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> 67<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 68<div class="section"> 69<h2><a name="setting" id="setting">D�finition des variables d'environnement</a></h2> 70 71 <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> 72 73 <h3><a name="basic-manipulation" id="basic-manipulation">Manipulations de base de l'environnement</a></h3> 74 75 76 <p>La m�thode la plus �l�mentaire pour d�finir une variable 77 d'environnement au niveau d'Apache consiste � utiliser la directive 78 inconditionnelle <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code>. Les variables peuvent aussi �tre transmises depuis 79 l'environnement du shell � partir duquel le serveur a �t� d�marr� en 80 utilisant la directive 81 <code class="directive"><a href="/mod/mod_env.html#passenv">PassEnv</a></code>.</p> 82 83 84 <h3><a name="conditional" id="conditional">D�finitions conditionnelles en fonction des requ�tes</a></h3> 85 86 87 <p>Pour plus de souplesse, les directives fournies par le module 88 <code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code> permettent de d�finir les 89 variables d'environnement en tenant compte des caract�ristiques 90 de chaque requ�te. Par exemple, une 91 variable pourrait n'�tre d�finie que lorsqu'un navigateur sp�cifique 92 (User-Agent) a g�n�r� la requ�te, ou seulement quand un en-t�te 93 Referer particulier est pr�sent. La directive 94 <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> du module 95 <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> qui utilise l'option 96 <code>[E=...]</code> pour d�finir 97 les variables d'environnement apporte encore plus de souplesse.</p> 98 99 100 <h3><a name="unique-identifiers" id="unique-identifiers">Identifiants uniques</a></h3> 101 102 103 <p>Finalement, le module <code class="module"><a href="/mod/mod_unique_id.html">mod_unique_id</a></code> d�finit la variable 104 d'environnement <code>UNIQUE_ID</code> pour chaque requ�te � une valeur 105 qui est garantie unique parmi "toutes" les requ�tes sous des 106 conditions tr�s sp�cifiques.</p> 107 108 109 <h3><a name="standard-cgi" id="standard-cgi">Variables CGI standards</a></h3> 110 111 112 <p>En plus de l'ensemble des variables d'environnement internes � la 113 configuration d'Apache et de celles transmises depuis le shell, 114 les scripts CGI et les pages SSI 115 se voient affect�s un ensemble de variables 116 d'environnement contenant des m�ta-informations � propos de la requ�te 117 comme pr�conis� dans la 118 <a href="http://www.ietf.org/rfc/rfc3875">sp�cification 119 sur les CGIs</a>.</p> 120 121 122 <h3><a name="caveats" id="caveats">Quelques mises en garde</a></h3> 123 124 125 <ul> 126 <li>Les directives de manipulation de l'environnement ne permettent 127 pas de supplanter ou modifier les variables CGI standards.</li> 128 129 <li>Lorsqu'on utilise <code class="program"><a href="/programs/suexec.html">suexec</a></code> pour ex�cuter des 130 scripts CGI, l'environnement est nettoy� et r�duit � un ensemble de 131 variables <em>s�res</em> avant l'ex�cution du script. La liste des 132 variables <em>s�res</em> est d�finie � la compilation dans 133 <code>suexec.c</code>.</li> 134 135 <li>Pour des raisons de portabilit�, les noms des variables 136 d'environnement ne peuvent contenir que des lettres, des chiffres, et 137 le caract�re "souslign�". En outre, le premier caract�re ne doit pas 138 �tre un chiffre. Les caract�res qui ne satisfont pas � ces conditions 139 seront remplac�s par un caract�re "souslign�" quand ils seront 140 transmis aux scripts CGI et aux pages SSI.</li> 141 142 <li>Les contenus d'en-t�tes HTTP transmis aux scripts de type 143 CGI ou autre via des variables d'environnement constituent un 144 cas particulier (voir plus loin). Leur nom est converti en 145 majuscules et seuls les tirets sont remplac�s par des 146 caract�res '_' ("soulign�") ; si le format du nom de l'en-t�te 147 n'est pas valide, celui-ci est ignor�. Voir <a href="#fixheader">plus loin</a> pour une solution de 148 contournement du probl�me.</li> 149 150 <li>La directive <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code> s'ex�cute assez tard au 151 cours du traitement de la requ�te, ce qui signifie que des 152 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 153 les variables qu'elle aura d�finies.</li> 154 155 <li>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="/glossary.html#subrequest" title="voir glossaire">sous-requ�te</a> interne (par exemple la 156 recherche d'un <code class="directive"><a href="/mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il g�n�re un 157 listing du contenu d'un r�pertoire via le module 158 <code class="module"><a href="/mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requ�te n'h�rite pas des 159 variables d'environnement sp�cifiques � la requ�te. En outre, � cause 160 des phases de l'API auxquelles <code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code> prend 161 part, les directives <code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ne sont pas �valu�es 162 s�par�ment dans la sous-requ�te.</li> 163 </ul> 164 165 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 166<div class="section"> 167<h2><a name="using" id="using">Utilisation des variables d'environnement</a></h2> 168 169 170 <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_core.html#require">Require</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_access_compat.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> 171 172 <h3><a name="cgi-scripts" id="cgi-scripts">Scripts CGI</a></h3> 173 174 175 <p>La communication d'informations aux scripts CGI constitue une des 176 principales utilisations des variables d'environnement. Comme indiqu� 177 plus haut, l'environnement transmis aux scripts CGI comprend des 178 m�ta-informations standards � propos de la requ�te, en plus des 179 variables d�finies dans la configuration d'Apache. Pour plus de 180 d�tails, se r�f�rer au 181 <a href="howto/cgi.html">tutoriel CGI</a>.</p> 182 183 184 <h3><a name="ssi-pages" id="ssi-pages">Pages SSI</a></h3> 185 186 187 <p>Les documents inclus c�t� serveur (SSI) trait�s par le filtre 188 <code>INCLUDES</code> du module <code class="module"><a href="/mod/mod_include.html">mod_include</a></code>, 189 peuvent afficher les 190 variables d'environnement � l'aide de l'�l�ment <code>echo</code>, 191 et peuvent utiliser des variables d'environnement dans les �l�ments 192 de contr�le de flux pour rendre certaines parties d'une page 193 conditionnelles en fonction des caract�ristiques de la requ�te. 194 Apache fournit aussi les variables d'environnement CGI standards 195 aux pages SSI 196 comme indiqu� plus haut. Pour plus de d�tails, se r�f�rer au 197 <a href="howto/ssi.html">tutoriel SSI</a>.</p> 198 199 200 <h3><a name="access-control" id="access-control">Contr�le d'acc�s</a></h3> 201 202 203 <p>L'acc�s au serveur peut �tre contr�l� en fonction de la valeur de 204 variables d'environnement � l'aide des directives 205 <code>allow from env=</code> et <code>deny from env=</code>. 206 En association avec la directive 207 <code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci conf�re une 208 grande souplesse au contr�le d'acc�s au serveur en fonction des 209 caract�ristiques du client. Par exemple, vous pouvez utiliser ces 210 directives pour interdire l'acc�s depuis un navigateur particulier 211 (User-Agent). 212 </p> 213 214 215 <h3><a name="logging" id="logging">Enregistrement conditionnel des traces</a></h3> 216 217 218 <p>Les variables d'environnement peuvent �tre enregistr�es dans le 219 fichier de log des acc�s � l'aide de l'option <code>%e</code> de la 220 directive <code class="directive"><a href="/mod/mod_log_config.html#logformat">LogFormat</a></code>. 221 En outre, la d�cision de tracer ou non les requ�tes peut �tre prise 222 en fonction de l'�tat de variables d'environnement en utilisant la 223 forme conditionnelle de la directive 224 <code class="directive"><a href="/mod/mod_log_config.html#customlog">CustomLog</a></code>. En 225 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 226 du tra�age des requ�tes. Par exemple, vous pouvez choisir de ne pas 227 tracer les requ�tes pour des noms de fichiers se terminant par 228 <code>gif</code>, ou encore de ne tracer que les requ�tes des clients 229 n'appartenant pas � votre sous-r�seau.</p> 230 231 232 <h3><a name="response-headers" id="response-headers">En-t�tes de r�ponse conditionnels</a></h3> 233 234 235 <p>La directive <code class="directive"><a href="/mod/mod_headers.html#header">Header</a></code> 236 peut se baser sur la pr�sence ou l'absence d'une variable 237 d'environnement pour d�cider si un certain en-t�te HTTP sera plac� 238 dans la r�ponse au client. Ceci permet, par exemple, de n'envoyer un 239 certain en-t�te de r�ponse que si un en-t�te correspondant est pr�sent 240 dans la requ�te du client.</p> 241 242 243 244 <h3><a name="external-filter" id="external-filter">Activation de filtres externes</a></h3> 245 246 247 <p>Les filtres externes configur�s par le module 248 <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 249 activ�s de mani�re conditionnelle en fonction d'une variable 250 d'environnement � l'aide des options 251 <code>disableenv=</code> et <code>enableenv=</code>.</p> 252 253 254 <h3><a name="url-rewriting" id="url-rewriting">R��criture d'URL</a></h3> 255 256 257 <p>La forme <code>%{ENV:<em>variable</em>}</code> de 258 <em>TestString</em> dans la 259 directive <code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> 260 permet au moteur de r��criture du module 261 <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> de prendre des 262 d�cisions conditionn�es par des variables d'environnement. 263 Notez que les variables accessibles dans 264 <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> sans le pr�fixe 265 <code>ENV:</code> ne sont pas de v�ritables variables 266 d'environnement. Ce sont plut�t des variables sp�cifiques � 267 <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> 268 qui ne sont pas accessibles pour les autres modules.</p> 269 270 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 271<div class="section"> 272<h2><a name="special" id="special">Variables d'environnement � usage sp�cial</a></h2> 273 274 275 <p>Des probl�mes d'interop�rabilit� ont conduit � l'introduction de 276 m�canismes permettant de modifier le comportement d'Apache lorsqu'il 277 dialogue avec certains clients. Afin de rendre ces m�canismes aussi 278 souples que possible, ils sont invoqu�s en d�finissant des variables 279 d'environnement, en g�n�ral � l'aide de la directive 280 <code class="directive"><a href="/mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, bien que les 281 directives <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code> et 282 <code class="directive"><a href="/mod/mod_env.html#passenv">PassEnv</a></code> puissent aussi �tre 283 utilis�es, par exemple.</p> 284 285 <h3><a name="downgrade" id="downgrade">downgrade-1.0</a></h3> 286 287 288 <p>Ceci force le traitement d'une requ�te comme une requ�te HTTP/1.0 289 m�me si elle a �t� r�dig�e dans un langage plus r�cent.</p> 290 291 292 <h3><a name="force-gzip" id="force-gzip">force-gzip</a></h3> 293 294 <p>Si le filtre <code>DEFLATE</code> est activ�, cette variable 295 d'environnement ignorera les r�glages accept-encoding de votre 296 navigateur et enverra une sortie compress�e inconditionnellement.</p> 297 298 <h3><a name="force-no-vary" id="force-no-vary">force-no-vary</a></h3> 299 300 301 <p>Cette variable entra�ne la suppression de tout champ 302 <code>Vary</code> des en-t�tes de la r�ponse avant que cette derni�re 303 soit renvoy�e au client. Certains clients n'interpr�tent pas ce champ 304 correctement, et la d�finition de cette variable permet de contourner 305 ce probl�me, mais implique aussi la d�finition de 306 <strong>force-response-1.0</strong>.</p> 307 308 309 <h3><a name="force-response" id="force-response">force-response-1.0</a></h3> 310 311 312 <p>Cette variable force une r�ponse en langage HTTP/1.0 aux clients 313 qui envoient des requ�tes dans le m�me langage. Elle fut impl�ment�e � 314 l'origine suite � des probl�mes avec les mandataires d'AOL. Certains 315 clients en langage HTTP/1.0 ne r�agissent pas correctement face � une 316 r�ponse en langage HTTP/1.1, et cette variable peut �tre utilis�e pour 317 assurer l'interop�rabilit� avec eux.</p> 318 319 320 321 <h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3> 322 323 324 <p>Positionn�e � "1", cette variable d�sactive le filtre en sortie 325 <code>DEFLATE</code> fourni par le module <code class="module"><a href="/mod/mod_deflate.html">mod_deflate</a></code> pour les 326 types de contenu autres que <code>text/html</code>. Si vous pr�f�rez 327 utiliser des fichiers compress�s statiquement, 328 <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> �value aussi la variable (non 329 seulement pour gzip, mais aussi pour tous les encodages autres que 330 "identity").</p> 331 332 333 <h3><a name="no-gzip" id="no-gzip">no-gzip</a></h3> 334 335 <p>Quand cette variable est d�finie, le filtre <code>DEFLATE</code> du 336 module <code class="module"><a href="/mod/mod_deflate.html">mod_deflate</a></code> est d�sactiv�, et 337 <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> refusera de d�livrer des ressources 338 encod�es.</p> 339 340 341 342 <h3><a name="no-cache" id="no-cache">no-cache</a></h3> 343 <p><em>Disponible dans les versions 2.2.12 et ult�rieures d'Apache</em></p> 344 345 <p>Lorsque cette variable est d�finie, 346 <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ne sauvegardera pas de r�ponse 347 susceptible d'�tre mise en cache. Cette variable d'environnement 348 n'a aucune incidence sur le fait qu'une r�ponse d�j� enregistr�e 349 dans la cache soit utilis�e ou non pour la requ�te courante.</p> 350 351 352 353 <h3><a name="nokeepalive" id="nokeepalive">nokeepalive</a></h3> 354 355 356 <p>Quand cette variable est d�finie, la directive 357 <code class="directive"><a href="/mod/core.html#keepalive">KeepAlive</a></code> est d�sactiv�e.</p> 358 359 360 361 <h3><a name="prefer-language" id="prefer-language">prefer-language</a></h3> 362 363 <p>Cette variable modifie le comportement du module 364 <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code>. Si elle contient un symbole de 365 langage (tel que <code>en</code>, <code>ja</code> 366 ou <code>x-klingon</code>), <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> essaie de 367 d�livrer une variante dans ce langage. S'il n'existe pas de telle 368 variante, le processus normal de 369 <a href="content-negotiation.html">n�gociation</a> s'applique.</p> 370 371 372 373 <h3><a name="redirect-carefully" id="redirect-carefully">redirect-carefully</a></h3> 374 375 376 <p>Cette variable force le serveur � �tre plus prudent lors de l'envoi 377 d'une redirection au client. Elle est en g�n�ral utilis�e quand un 378 client pr�sente un probl�me connu avec les redirections. Elle fut 379 impl�ment�e � l'origine suite a un probl�me rencontr� avec le logiciel 380 WebFolders de Microsoft qui ne g�re pas correctement les redirections 381 vers des ressources de type r�pertoire via des m�thodes DAV.</p> 382 383 384 385 <h3><a name="suppress-error-charset" id="suppress-error-charset">suppress-error-charset</a></h3> 386 387 388 <p><em>Disponible dans les versions post�rieures � 2.0.54</em></p> 389 390 <p>Quand Apache g�n�re une redirection en r�ponse � une requ�te client, 391 la r�ponse inclut un texte destin� � �tre affich� au cas o� le client ne 392 suivrait pas, ou ne pourrait pas suivre automatiquement la redirection. 393 Habituellement, Apache marque ce texte en accord avec le jeu de caract�res 394 qu'il utilise, � savoir ISO-8859-1.</p> 395 <p> Cependant, si la redirection fait r�f�rence � une page qui utilise un 396 jeu de caract�res diff�rent, certaines versions de navigateurs obsol�tes 397 essaieront d'utiliser le jeu de caract�res du texte de la redirection 398 plut�t que celui de la page r�elle. 399 Ceci peut entra�ner, par exemple, un rendu incorrect du Grec.</p> 400 <p>Si cette variable d'environnement est d�finie, Apache omettra le jeu de 401 caract�res pour le texte de la redirection, et les navigateurs obsol�tes 402 pr�cit�s utiliseront correctement celui de la page de destination.</p> 403 404 <div class="warning"> 405 <h3>Note concernant la s�curit�</h3> 406 407 <p>L'envoi de pages d'erreur sans sp�cifier un jeu de caract�res peut 408 conduire � des attaques de type "cross-site-scripting" pour les 409 navigateurs qui ne respectent pas la sp�cification HTTP/1.1 (MSIE) et 410 tentent de d�duire le jeu de caract�res � partir du contenu. De tels 411 navigateurs peuvent �tre facilement tromp�s et utiliser le jeu de 412 caract�res UTF-7 ; les contenus des donn�es en entr�e de type UTF-7 413 (comme les URI de requ�te) ne seront alors plus prot�g�s par les 414 m�canismes d'�chappement usuels con�us pour pr�venir les attaques 415 de type "cross-site-scripting".</p> 416 </div> 417 418 419 420 <h3><a name="proxy" id="proxy">force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, 421 proxy-sendcl, proxy-chain-auth, proxy-interim-response, proxy-initial-not-pooled</a></h3> 422 423 <p>Ces directives modifient le comportement protocolaire du module 424 <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>. Voir la documentation sur 425 <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> 426 427 428 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 429<div class="section"> 430<h2><a name="examples" id="examples">Exemples</a></h2> 431 432 433 <h3><a name="fixheader" id="fixheader">Transmission du contenu d'en-t�tes non valides aux scripts 434 CGI</a></h3> 435 436 437 <p>Avec la version 2.4, Apache est plus strict avec la conversion 438 des en-t�tes HTTP en variables d'environnement dans 439 <code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code> et d'autres modules : dans les versions 440 pr�c�dentes, tout caract�re invalide dans les noms d'en-t�tes 441 �tait tout simplement remplac� par un caract�re '_', ce qui 442 pouvait exposer � des attaques de type cross-site-scripting via 443 injection d'en-t�tes (voir <a href="http://events.ccc.de/congress/2007/Fahrplan/events/2212.en.html">Bogues 444 du Web inhabituelles</a>, planche 19/20).</p> 445 446 <p>Si vous devez supporter un client qui envoie des en-t�tes non 447 conformes et si ceux-ci ne peuvent pas �tre corrig�s, il existe 448 une solution de contournement simple mettant en jeu les modules 449 <code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code> et <code class="module"><a href="/mod/mod_headers.html">mod_headers</a></code>, 450 et permettant de prendre en compte ces en-t�tes :</p> 451 452<pre class="prettyprint lang-config"># L'exemple suivant montre comment prendre en compte un en-t�te<br /> 453# Accept_Encoding non conforme envoy� par un client. 454# 455SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1 456RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding</pre> 457 458 459 460 461 <h3><a name="misbehaving" id="misbehaving">Modification du comportement protocolaire face � des clients 462 r�agissant de mani�re non conforme</a></h3> 463 464 465 <p>Les versions ant�rieures recommandaient l'ajout de ces lignes dans 466 httpd.conf pour tenir compte de probl�mes connus avec certains clients. 467 Comme les clients concern�s sont maintenant tr�s peu utilis�s, cet 468 ajout n'est pratiquement plus n�cessaire.</p> 469<pre class="prettyprint lang-config"># 470# The following directives modify normal HTTP response behavior. 471# The first directive disables keepalive for Netscape 2.x and browsers that 472# spoof it. There are known problems with these browser implementations. 473# The second directive is for Microsoft Internet Explorer 4.0b2 474# which has a broken HTTP/1.1 implementation and does not properly 475# support keepalive when it is used on 301 or 302 (redirect) responses. 476# 477BrowserMatch "Mozilla/2" nokeepalive 478BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 479 480# 481# The following directive disables HTTP/1.1 responses to browsers which 482# are in violation of the HTTP/1.0 spec by not being able to grok a 483# basic 1.1 response. 484# 485BrowserMatch "RealPlayer 4\.0" force-response-1.0 486BrowserMatch "Java/1\.0" force-response-1.0 487BrowserMatch "JDK/1\.0" force-response-1.0</pre> 488 489 490 491 <h3><a name="no-img-log" id="no-img-log">Ne pas tracer les requ�tes pour des images dans le fichier de 492 trace des acc�s</a></h3> 493 494 495 <p>Dans cet exemple, les requ�tes pour des images n'apparaissent pas 496 dans le fichier de trace des acc�s. Il peut �tre facilement adapt� pour 497 emp�cher le tra�age de r�pertoires particuliers, ou de requ�tes 498 en provenance de certains h�tes.</p> 499 <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif image-request 500SetEnvIf Request_URI \.jpg image-request 501SetEnvIf Request_URI \.png image-request 502CustomLog logs/access_log common env=!image-request</pre> 503 504 505 506 <h3><a name="image-theft" id="image-theft">Pr�vention du "Vol d'image"</a></h3> 507 508 509 <p>Cet exemple montre comment emp�cher les utilisateurs ne faisant pas 510 partie de votre serveur d'utiliser des images de votre serveur comme 511 images en ligne dans leurs pages. Cette configuration n'est pas 512 recommand�e, mais elle peut fonctionner dans des circonstances bien 513 d�finies. Nous supposons que toutes vos images sont enregistr�es dans 514 un r�pertoire nomm� <code>/web/images</code>.</p> 515 <pre class="prettyprint lang-config">SetEnvIf Referer "^http://www\.example\.com/" local_referal 516# Autorise les navigateurs qui n'envoient aucune information de Referer 517SetEnvIf Referer "^$" local_referal 518<Directory /web/images> 519 Require env local_referal 520</Directory></pre> 521 522 523 <p>Pour plus d'informations sur cette technique, voir le tutoriel sur 524 ServerWatch 525 "<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Keeping Your Images from Adorning Other Sites</a>".</p> 526 527 </div></div> 528<div class="bottomlang"> 529<p><span>Langues Disponibles: </span><a href="/en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | 530<a href="/fr/env.html" title="Fran�ais"> fr </a> | 531<a href="/ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 532<a href="/ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 533<a href="/tr/env.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p> 534</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> 535<script type="text/javascript"><!--//--><![CDATA[//><!-- 536var comments_shortname = 'httpd'; 537var comments_identifier = 'http://httpd.apache.org/docs/2.4/env.html'; 538(function(w, d) { 539 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 540 d.write('<div id="comments_thread"><\/div>'); 541 var s = d.createElement('script'); 542 s.type = 'text/javascript'; 543 s.async = true; 544 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 545 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 546 } 547 else { 548 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 549 } 550})(window, document); 551//--><!]]></script></div><div id="footer"> 552<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> 553<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[//><!-- 554if (typeof(prettyPrint) !== 'undefined') { 555 prettyPrint(); 556} 557//--><!]]></script> 558</body></html>