Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.220.23.205
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
apache /
manual /
[ HOME SHELL ]
Name
Size
Permission
Action
developer
[ DIR ]
drwxr-xr-x
faq
[ DIR ]
drwxr-xr-x
howto
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
misc
[ DIR ]
drwxr-xr-x
mod
[ DIR ]
drwxr-xr-x
platform
[ DIR ]
drwxr-xr-x
programs
[ DIR ]
drwxr-xr-x
rewrite
[ DIR ]
drwxr-xr-x
ssl
[ DIR ]
drwxr-xr-x
style
[ DIR ]
drwxr-xr-x
vhosts
[ DIR ]
drwxr-xr-x
BUILDING
102
B
-rw-r--r--
LICENSE
11.09
KB
-rw-r--r--
bind.html
538
B
-rw-r--r--
bind.html.de
15.28
KB
-rw-r--r--
bind.html.en
15.19
KB
-rw-r--r--
bind.html.fr.utf8
16.49
KB
-rw-r--r--
bind.html.ja.utf8
14.34
KB
-rw-r--r--
bind.html.ko.euc-kr
10.95
KB
-rw-r--r--
bind.html.tr.utf8
16.21
KB
-rw-r--r--
caching.html
292
B
-rw-r--r--
caching.html.en
50.66
KB
-rw-r--r--
caching.html.fr.utf8
56.43
KB
-rw-r--r--
caching.html.tr.utf8
54.69
KB
-rw-r--r--
configuring.html
580
B
-rw-r--r--
configuring.html.de
16.71
KB
-rw-r--r--
configuring.html.en
17.36
KB
-rw-r--r--
configuring.html.fr.utf8
18.84
KB
-rw-r--r--
configuring.html.ja.utf8
16.98
KB
-rw-r--r--
configuring.html.ko.euc-kr
13.71
KB
-rw-r--r--
configuring.html.tr.utf8
18.57
KB
-rw-r--r--
content-negotiation.html
529
B
-rw-r--r--
content-negotiation.html.en
33.75
KB
-rw-r--r--
content-negotiation.html.fr.ut...
38.73
KB
-rw-r--r--
content-negotiation.html.ja.ut...
40.97
KB
-rw-r--r--
content-negotiation.html.ko.eu...
28.48
KB
-rw-r--r--
content-negotiation.html.tr.ut...
37.08
KB
-rw-r--r--
convenience.map
36.73
KB
-rw-r--r--
custom-error.html
586
B
-rw-r--r--
custom-error.html.en
13.58
KB
-rw-r--r--
custom-error.html.es
13.3
KB
-rw-r--r--
custom-error.html.fr.utf8
14.51
KB
-rw-r--r--
custom-error.html.ja.utf8
13.21
KB
-rw-r--r--
custom-error.html.ko.euc-kr
11.52
KB
-rw-r--r--
custom-error.html.tr.utf8
14.17
KB
-rw-r--r--
dns-caveats.html
489
B
-rw-r--r--
dns-caveats.html.en
12.37
KB
-rw-r--r--
dns-caveats.html.fr.utf8
13.39
KB
-rw-r--r--
dns-caveats.html.ja.utf8
17.37
KB
-rw-r--r--
dns-caveats.html.ko.euc-kr
13.47
KB
-rw-r--r--
dns-caveats.html.tr.utf8
12.79
KB
-rw-r--r--
dso.html
449
B
-rw-r--r--
dso.html.en
19.27
KB
-rw-r--r--
dso.html.fr.utf8
22.21
KB
-rw-r--r--
dso.html.ja.utf8
23.28
KB
-rw-r--r--
dso.html.ko.euc-kr
16.59
KB
-rw-r--r--
dso.html.tr.utf8
21.48
KB
-rw-r--r--
env.html
449
B
-rw-r--r--
env.html.en
30.62
KB
-rw-r--r--
env.html.fr.utf8
33.06
KB
-rw-r--r--
env.html.ja.utf8
30.56
KB
-rw-r--r--
env.html.ko.euc-kr
22.14
KB
-rw-r--r--
env.html.tr.utf8
32.71
KB
-rw-r--r--
expr.html
199
B
-rw-r--r--
expr.html.en
36.03
KB
-rw-r--r--
expr.html.fr.utf8
38.48
KB
-rw-r--r--
filter.html
550
B
-rw-r--r--
filter.html.en
14.84
KB
-rw-r--r--
filter.html.es
17.28
KB
-rw-r--r--
filter.html.fr.utf8
16.01
KB
-rw-r--r--
filter.html.ja.utf8
9.23
KB
-rw-r--r--
filter.html.ko.euc-kr
8.37
KB
-rw-r--r--
filter.html.tr.utf8
16
KB
-rw-r--r--
getting-started.html
316
B
-rw-r--r--
getting-started.html.en
15.22
KB
-rw-r--r--
getting-started.html.fr.utf8
17.18
KB
-rw-r--r--
getting-started.html.ru.utf8
21.27
KB
-rw-r--r--
glossary.html
650
B
-rw-r--r--
glossary.html.de
34.8
KB
-rw-r--r--
glossary.html.en
30.02
KB
-rw-r--r--
glossary.html.es
31.97
KB
-rw-r--r--
glossary.html.fr.utf8
34.01
KB
-rw-r--r--
glossary.html.ja.utf8
32.03
KB
-rw-r--r--
glossary.html.ko.euc-kr
20.88
KB
-rw-r--r--
glossary.html.tr.utf8
33.11
KB
-rw-r--r--
handler.html
649
B
-rw-r--r--
handler.html.en
11.79
KB
-rw-r--r--
handler.html.es
12.72
KB
-rw-r--r--
handler.html.fr.utf8
12.6
KB
-rw-r--r--
handler.html.ja.utf8
13.36
KB
-rw-r--r--
handler.html.ko.euc-kr
11.35
KB
-rw-r--r--
handler.html.tr.utf8
12.39
KB
-rw-r--r--
handler.html.zh-cn.utf8
11.34
KB
-rw-r--r--
index.html
981
B
-rw-r--r--
index.html.da
8.85
KB
-rw-r--r--
index.html.de
9.28
KB
-rw-r--r--
index.html.en
9.11
KB
-rw-r--r--
index.html.es
9.75
KB
-rw-r--r--
index.html.fr.utf8
9.47
KB
-rw-r--r--
index.html.ja.utf8
9.55
KB
-rw-r--r--
index.html.ko.euc-kr
8.23
KB
-rw-r--r--
index.html.pt-br
9.26
KB
-rw-r--r--
index.html.ru.utf8
10.41
KB
-rw-r--r--
index.html.tr.utf8
9.34
KB
-rw-r--r--
index.html.zh-cn.utf8
8.85
KB
-rw-r--r--
install.html
643
B
-rw-r--r--
install.html.de
25.56
KB
-rw-r--r--
install.html.en
26.97
KB
-rw-r--r--
install.html.es
29.38
KB
-rw-r--r--
install.html.fr.utf8
29.42
KB
-rw-r--r--
install.html.ja.utf8
27.58
KB
-rw-r--r--
install.html.ko.euc-kr
19.83
KB
-rw-r--r--
install.html.tr.utf8
29.06
KB
-rw-r--r--
invoking.html
650
B
-rw-r--r--
invoking.html.de
13.91
KB
-rw-r--r--
invoking.html.en
12.55
KB
-rw-r--r--
invoking.html.es
13.9
KB
-rw-r--r--
invoking.html.fr.utf8
13.42
KB
-rw-r--r--
invoking.html.ja.utf8
14.04
KB
-rw-r--r--
invoking.html.ko.euc-kr
10.87
KB
-rw-r--r--
invoking.html.tr.utf8
13.39
KB
-rw-r--r--
license.html
118
B
-rw-r--r--
license.html.en
15.49
KB
-rw-r--r--
logs.html
454
B
-rw-r--r--
logs.html.en
39.03
KB
-rw-r--r--
logs.html.fr.utf8
44.23
KB
-rw-r--r--
logs.html.ja.utf8
40.13
KB
-rw-r--r--
logs.html.ko.euc-kr
29.03
KB
-rw-r--r--
logs.html.tr.utf8
42.61
KB
-rw-r--r--
mpm.html
704
B
-rw-r--r--
mpm.html.de
11.13
KB
-rw-r--r--
mpm.html.en
13.26
KB
-rw-r--r--
mpm.html.es
10.46
KB
-rw-r--r--
mpm.html.fr.utf8
14.37
KB
-rw-r--r--
mpm.html.ja.utf8
11.7
KB
-rw-r--r--
mpm.html.ko.euc-kr
9.77
KB
-rw-r--r--
mpm.html.tr.utf8
14.19
KB
-rw-r--r--
mpm.html.zh-cn.utf8
11.26
KB
-rw-r--r--
new_features_2_0.html
712
B
-rw-r--r--
new_features_2_0.html.de
17.67
KB
-rw-r--r--
new_features_2_0.html.en
15.55
KB
-rw-r--r--
new_features_2_0.html.fr.utf8
18.27
KB
-rw-r--r--
new_features_2_0.html.ja.utf8
18.56
KB
-rw-r--r--
new_features_2_0.html.ko.euc-k...
14.52
KB
-rw-r--r--
new_features_2_0.html.pt-br
17.4
KB
-rw-r--r--
new_features_2_0.html.tr.utf8
17.37
KB
-rw-r--r--
new_features_2_2.html
520
B
-rw-r--r--
new_features_2_2.html.en
18.58
KB
-rw-r--r--
new_features_2_2.html.fr.utf8
20.73
KB
-rw-r--r--
new_features_2_2.html.ko.euc-k...
9.46
KB
-rw-r--r--
new_features_2_2.html.pt-br
10.81
KB
-rw-r--r--
new_features_2_2.html.tr.utf8
20.42
KB
-rw-r--r--
new_features_2_4.html
319
B
-rw-r--r--
new_features_2_4.html.en
28.17
KB
-rw-r--r--
new_features_2_4.html.fr.utf8
31.61
KB
-rw-r--r--
new_features_2_4.html.tr.utf8
30.66
KB
-rw-r--r--
sections.html
474
B
-rw-r--r--
sections.html.en
37.51
KB
-rw-r--r--
sections.html.fr.utf8
41.64
KB
-rw-r--r--
sections.html.ja.utf8
32.81
KB
-rw-r--r--
sections.html.ko.euc-kr
25.12
KB
-rw-r--r--
sections.html.tr.utf8
41.4
KB
-rw-r--r--
server-wide.html
489
B
-rw-r--r--
server-wide.html.en
11.88
KB
-rw-r--r--
server-wide.html.fr.utf8
12.41
KB
-rw-r--r--
server-wide.html.ja.utf8
12.02
KB
-rw-r--r--
server-wide.html.ko.euc-kr
10.41
KB
-rw-r--r--
server-wide.html.tr.utf8
12.4
KB
-rw-r--r--
sitemap.html
736
B
-rw-r--r--
sitemap.html.de
26.2
KB
-rw-r--r--
sitemap.html.en
25.95
KB
-rw-r--r--
sitemap.html.es
25.86
KB
-rw-r--r--
sitemap.html.fr.utf8
27.01
KB
-rw-r--r--
sitemap.html.ja.utf8
26.42
KB
-rw-r--r--
sitemap.html.ko.euc-kr
23.11
KB
-rw-r--r--
sitemap.html.tr.utf8
26.88
KB
-rw-r--r--
sitemap.html.zh-cn.utf8
23.98
KB
-rw-r--r--
socache.html
205
B
-rw-r--r--
socache.html.en
9.54
KB
-rw-r--r--
socache.html.fr.utf8
10.23
KB
-rw-r--r--
stopping.html
650
B
-rw-r--r--
stopping.html.de
19.53
KB
-rw-r--r--
stopping.html.en
17.4
KB
-rw-r--r--
stopping.html.es
19.32
KB
-rw-r--r--
stopping.html.fr.utf8
19.67
KB
-rw-r--r--
stopping.html.ja.utf8
19.98
KB
-rw-r--r--
stopping.html.ko.euc-kr
14.67
KB
-rw-r--r--
stopping.html.tr.utf8
19.55
KB
-rw-r--r--
suexec.html
464
B
-rw-r--r--
suexec.html.en
28.56
KB
-rw-r--r--
suexec.html.fr.utf8
32.24
KB
-rw-r--r--
suexec.html.ja.utf8
33.21
KB
-rw-r--r--
suexec.html.ko.euc-kr
24.09
KB
-rw-r--r--
suexec.html.tr.utf8
31.05
KB
-rw-r--r--
upgrading.html
209
B
-rw-r--r--
upgrading.html.en
29.98
KB
-rw-r--r--
upgrading.html.fr.utf8
33.4
KB
-rw-r--r--
urlmapping.html
484
B
-rw-r--r--
urlmapping.html.en
26.02
KB
-rw-r--r--
urlmapping.html.fr.utf8
28.39
KB
-rw-r--r--
urlmapping.html.ja.utf8
25.7
KB
-rw-r--r--
urlmapping.html.ko.euc-kr
19.33
KB
-rw-r--r--
urlmapping.html.tr.utf8
27.96
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : env.html.fr.utf8
<?xml version="1.0" encoding="UTF-8"?> <!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> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>Apache et les variables d'environnement - Serveur HTTP Apache Version 2.4</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" /> <script src="./style/scripts/prettify.min.js" type="text/javascript"> </script> <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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p> <p class="apache">Serveur HTTP Apache Version 2.4</p> <img alt="" src="./images/feather.png" /></div> <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> <div id="path"> <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> <div class="toplang"> <p><span>Langues Disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/env.html" title="Français"> fr </a> | <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><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><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</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> <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 recherche d'un <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un listing du contenu d'un répertoire via le module <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des variables d'environnement spécifiques à la requête. En outre, à cause des phases de l'API auxquelles <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> prend part, les directives <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ne sont pas évaluées séparément dans la sous-requête.</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_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#allow">Allow</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> <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>Require env</code> et <code>Require not 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_headers.html">mod_headers</a></code>, et permettant de prendre en compte ces en-têtes :</p> <pre class="prettyprint lang-config"># L'exemple suivant montre comment prendre en compte un en-tête<br /> # Accept_Encoding non conforme envoyé par un client. # SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1 RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding</pre> <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> <pre class="prettyprint lang-config"># # The following directives modify normal HTTP response behavior. # The first directive disables keepalive for Netscape 2.x and browsers that # spoof it. There are known problems with these browser implementations. # The second directive is for Microsoft Internet Explorer 4.0b2 # which has a broken HTTP/1.1 implementation and does not properly # support keepalive when it is used on 301 or 302 (redirect) responses. # BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 # # The following directive disables HTTP/1.1 responses to browsers which # are in violation of the HTTP/1.0 spec by not being able to grok a # basic 1.1 response. # BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0</pre> <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> <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif image-request SetEnvIf Request_URI \.jpg image-request SetEnvIf Request_URI \.png image-request CustomLog "logs/access_log" common env=!image-request</pre> <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> <pre class="prettyprint lang-config">SetEnvIf Referer "^http://www\.example\.com/" local_referal # Autorise les navigateurs qui n'envoient aucune information de Referer SetEnvIf Referer "^$" local_referal <Directory "/web/images"> Require env local_referal </Directory></pre> <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"> en </a> | <a href="./fr/env.html" title="Français"> fr </a> | <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </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 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 <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> <script type="text/javascript"><!--//--><![CDATA[//><!-- var comments_shortname = 'httpd'; var comments_identifier = 'http://httpd.apache.org/docs/2.4/env.html'; (function(w, d) { if (w.location.hostname.toLowerCase() == "httpd.apache.org") { d.write('<div id="comments_thread"><\/div>'); var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); } else { d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); } })(window, document); //--><!]]></script></div><div id="footer"> <p class="apache">Copyright 2023 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="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[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); } //--><!]]></script> </body></html>
Close