From a27e21a21f2265390357b5a5bcd4575d4a52acc7 Mon Sep 17 00:00:00 2001
From: Lucien Gentis Les fournisseurs d'autorisation implémentés par le module
- Les fournisseurs d'autorisation implémentés par le module
+
+ HANDLER
Le nom du gestionnaire qui a
généré la réponse
+ HTTP2
" on
" si la requête utilise http/2,
+ "off
" dans le cas contraire
diff --git a/docs/manual/mod/mod_authz_host.xml.fr b/docs/manual/mod/mod_authz_host.xml.fr
index c5db405357..193b13311c 100644
--- a/docs/manual/mod/mod_authz_host.xml.fr
+++ b/docs/manual/mod/mod_authz_host.xml.fr
@@ -1,7 +1,7 @@
-
+
-
+
@@ -25,53 +25,53 @@
HTTPS
" on
" si la requête utilise https,
"off
" dans le cas contraireforward-dns
est disponible à partir
+de la version 2.4.19 du serveur HTTP Apache.htaccess
pour
- contrôler l'accès à certaines zones du serveur. Le contrôle d'accès
- peut être effectué en fonction du nom d'hôte ou de l'adresse IP.
En général, les directives de restriction d'accès s'appliquent à
- toutes les méthodes d'accès (GET
, PUT
,
+
En général, les directives de restriction d'accès s'appliquent Ã
+ toutes les méthodes d'accès (GET
, PUT
,
POST
, etc...). C'est d'ailleurs ce que l'on souhaite
dans la plupart des cas. Il est cependant possible de ne restreindre
- l'accès que pour certaines méthodes, tout en laissant les autres
- méthodes sans protection, en plaçant les directives dans une section
+ l'accès que pour certaines méthodes, tout en laissant les autres
+ méthodes sans protection, en plaçant les directives dans une section
La directive Apache ip
, host
et local
. D'autres
- types d'autorisation
- sont aussi disponibles, mais nécessitent le chargement des modules
- d'autorisation appropriés.
Ces fournisseurs d'autorisation permettent de déterminer quels
- hôtes peuvent accéder à une zone du serveur. On peut contrôler
- l'accès en fonction du nom d'hôte, de l'adresse IP, ou d'un intervalle
+ module="mod_authz_core">Require est utilisée au cours de
+ la phase d'autorisation pour vérifier si un utilisateur se voit
+ accorder ou refuser l'accès à une ressource. mod_authz_host fournit
+ les types d'autorisation ip
, host
,
+ forward-dns
et local
. D'autres
+ types d'autorisation sont aussi disponibles, mais nécessitent le chargement
+ des modules d'autorisation appropriés.
Ces fournisseurs d'autorisation permettent de déterminer quels + hôtes peuvent accéder à une zone du serveur. On peut contrôler + l'accès en fonction du nom d'hôte, de l'adresse IP, ou d'un intervalle d'adresses IP.
A partir de la version 2.4.8, les directives require host
@@ -79,20 +79,20 @@ contrôle d'accès
Le fournisseur Le fournisseur ip
permet de contrôler l'accès au
+ ip
permet de contrôler l'accès au
serveur en fonction de l'adresse IP du client distant. Lorsque
- Require ip adresse-ip
est spécifié, la
- requête est autorisée si l'adresse IP du client distant correspond
- àRequire ip adresse-ip
est spécifié, la
+ requête est autorisée si l'adresse IP du client distant correspond
+ Ã
Une adresse IP complète :
+Une adresse IP complète :
L'adresse IP d'un hôte pour qui l'accès est accordé
+L'adresse IP d'un hôte pour qui l'accès est accordé
Une adresse IP partielle :
@@ -100,29 +100,29 @@ Require ip 192.168.1.104 192.168.1.205 Require ip 10.1 Require ip 10 172.20 192.168.2 -Les 1 à 3 premiers octets d'une adresse IP, pour une restriction - à un sous-réseau.
+Les 1 à 3 premiers octets d'une adresse IP, pour une restriction + à un sous-réseau.
-Une paire réseau/masque de sous-réseau :
+Une paire réseau/masque de sous-réseau :
Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z. pour une - restriction de sous-réseau plus fine.
+Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z. pour une + restriction de sous-réseau plus fine.
-Une spécification CIDR réseau/nnn :
+Une spécification CIDR réseau/nnn :
Identique au cas précédent, excepté que le masque de sous-réseau - représente les nnn premiers bits de poids fort.
+Identique au cas précédent, excepté que le masque de sous-réseau + représente les nnn premiers bits de poids fort.
Notez que les trois derniers exemples correspondent exectement au - même ensemble d'hôtes.
+ même ensemble d'hôtes. -On peut spécifier des adresses et des sous-réseaux IPv6 comme +
On peut spécifier des adresses et des sous-réseaux IPv6 comme suit :
Note: comme les adresses IP sont lues au démarrage, les - expressions ne sont pas évaluées au moment de la requête.
+Note: comme les adresses IP sont lues au démarrage, les + expressions ne sont pas évaluées au moment de la requête.
Le fournisseur host
permet de contrôler l'accès au
- serveur en fonction du nom d'hôte du client distant. Lorsque
- Require host nom-hôte
est spécifié, la
- requête est autorisée si le nom d'hôte correspond à
Le fournisseur host
permet de contrôler l'accès au
+ serveur en fonction du nom d'hôte du client distant. Lorsque
+ Require host nom-hôte
est spécifié, la
+ requête est autorisée si le nom d'hôte correspond Ã
Un nom de domaine (éventuellement partiel)
+Un nom de domaine (éventuellement partiel)
Les hôtes dont les noms correspondent ou se terminent par la - chaîne spécifiée se voient accorder l'accès. Seuls les élément de +
Les hôtes dont les noms correspondent ou se terminent par la
+ chaîne spécifiée se voient accorder l'accès. Seuls les élément de
nom de domaine complets sont mis en correspondance ; ainsi,
- l'exemple ci-dessus correspondra à foo.example.org
, mais
- ne correspondra pas à fooexample.org
. Avec cette
+ l'exemple ci-dessus correspondra à foo.example.org
, mais
+ ne correspondra pas à fooexample.org
. Avec cette
configuration, Apache va effectuer une double recherche DNS sur
- l'adresse IP du client, sans tenir compte de la définition de la
+ l'adresse IP du client, sans tenir compte de la définition de la
directive
Le fournisseur forward-dns
permet d'accéder au serveur
+ sécurisé en fonction de simples noms d'hôte. Lorsque Require
+ forward-dns host-name
est spécifié, toute adresse IP
+ correspondant à host-name
se voit autoriser l'accès.
A la différence du fournisseur host
, ce fournisseur
+ n'effectue pas de recherche DNS inverse : il effectue simplement une requête
+ DNS directe pour le nom d'hôte spécifié et donne accès au client si son
+ adresse IP correspond. Il ne fonctionnera donc qu'avec des noms d'hôte, et
+ non avec des noms de domaine. Par contre, comme le DNS inverse n'est pas
+ sollicité, il fonctionnera avec des clients qui utilisent un service de DNS
+ dynamique.
Un client dont l'adresse IP correspond au nom d'hôte
+ bla.example.org
se verra autoriser l'accès.
Le fournisseur local
autorise l'accès au serveur si
+
Le fournisseur local
autorise l'accès au serveur si
l'une au moins de ces conditions est satisfaite :
L'exemple suivant montre une méthode simple pour sélectionner les - connexions en provenance de l'hôte local :
+L'exemple suivant montre une méthode simple pour sélectionner les + connexions en provenance de l'hôte local :
Si le contenu de votre serveur est mandaté, vous devez garder à - l'esprit que l'adresse client correspondra à l'adresse de votre - serveur mandataire et non à l'adresse du client, et l'utilisation de +
Si le contenu de votre serveur est mandaté, vous devez garder Ã
+ l'esprit que l'adresse client correspondra à l'adresse de votre
+ serveur mandataire et non à l'adresse du client, et l'utilisation de
la directive Require
dans ce contexte ne provoquera pas
- forcément l'effet désiré. Voir
Ce module fournit un filtre qui va traiter les fichiers avant - de les envoyer au client. Le traitement est contrôlé via des - commentaires SGML spécialement formatés, aussi nommés - éléments. Ces éléments permettent l'insertion + de les envoyer au client. Le traitement est contrôlé via des + commentaires SGML spécialement formatés, aussi nommés + éléments. Ces éléments permettent l'insertion conditionnelle de texte, l'inclusion d'autres fichiers ou - programmes, ainsi que la définition et l'affichage de variables + programmes, ainsi que la définition et l'affichage de variables d'environnement.
Les SSI sont implémentés par le Les SSI sont implémentés par le filtre INCLUDES
. Si des
- documents contenant des directives SSI possèdent une extension
- .shtml, les directives suivantes indiqueront à Apache de les
- interpréter et d'assigner le type MIME
+ documents contenant des directives SSI possèdent une extension
+ .shtml, les directives suivantes indiqueront à Apache de les
+ interpréter et d'assigner le type MIME
text/html
au document obtenu :
L'option suivante doit être définie pour les répertoires qui - contiennent les fichiers shtml (en général dans une section +
L'option suivante doit être définie pour les répertoires qui
+ contiennent les fichiers shtml (en général dans une section
.htaccess
si
a été défini pour le
- répertoire considéré) :
Pour des raisons de compatibilité ascendante, le Pour des raisons de compatibilité ascendante, le gestionnaire Les fichiers traités dans le cadre des SSI n'acceptent plus par
- défaut les requêtes avec server-parsed
peut aussi activer le filtre INCLUDES. Ainsi, Apache va activer le
filtre INCLUDES pour tout document de type MIME
@@ -87,96 +87,96 @@ AddOutputFilter INCLUDES .shtml
PATH_INFO
(les informations
- relatives au chemin en fin de requête). La directive PATH_INFO
(les informations
+ relatives au chemin en fin de requête). La directive
Le document est interprété comme un document HTML, avec des
- commandes spéciales incluses sous forme de commentaires SGML. La
+ Le document est interprété comme un document HTML, avec des
+ commandes spéciales incluses sous forme de commentaires SGML. La
syntaxe d'une commande est la suivante : Les valeurs sont souvent entourées de guillemets, mais on peut
+ Les valeurs sont souvent entourées de guillemets, mais on peut
aussi utiliser des apostrophes ( La table suivante contient la liste des éléments autorisés : La table suivante contient la liste des éléments autorisés : Les éléments SSI peuvent être définis par d'autres modules que
- '
) ou des apostrophes
inverses (`
). De nombreuses commandes n'acceptent
qu'une seule paire attribut-valeur. Notez que le terminateur de
- commentaire (-->
) doit être précédé d'un espace afin
- d'être sûr qu'il ne soit pas considéré comme un élément de commande
- SSI. Notez aussi que le délimiteur de début <!--#
- est un élément de commande et ne doit donc pas contenir
+ commentaire (-->
) doit être précédé d'un espace afin
+ d'être sûr qu'il ne soit pas considéré comme un élément de commande
+ SSI. Notez aussi que le délimiteur de début <!--#
+ est un élément de commande et ne doit donc pas contenir
d'espace.
-
-
+ Elément Description Elément Description config
configure les formats de sortie echo
affiche le contenu de variables
+
- exec
exécute des programmes externes exécute des programmes externes
fsize
affiche la taille d'un fichier
+
- flastmod
affiche la date de dernière modification d'un fichier affiche la date de dernière modification d'un fichier
include
inclut un fichier printenv
affiche toutes les variables disponibles
+
- set
définit la valeur d'une variable définit la valeur d'une variable
Les éléments SSI peuvent être définis par d'autres modules que
+
exec
est fourni par
Cette commande contrôle divers aspects de l'interprétation. Les
+ Cette commande contrôle divers aspects de l'interprétation. Les
attributs valides sont : La valeur est un message qui sera envoyé au client si
- l'élément La valeur est un message qui sera envoyé au client si
+ l'élément La valeur est un message qui sera envoyé au client si une
- erreur survient lors de l'interprétation du document. Cet attribut
+ La valeur est un message qui sera envoyé au client si une
+ erreur survient lors de l'interprétation du document. Cet attribut
l'emporte sur toute directive La valeur définit l'unité employée lors de l'affichage de la
+ La valeur définit l'unité employée lors de l'affichage de la
taille d'un fichier. Les valeurs possibles sont
-
echomsg
(Versions 2.1 et supérieures
+ echomsg
(Versions 2.1 et supérieures
d'Apache)echo
tente
- d'afficher le contenu d'une variable non définie. Cet attribut
+ echo
tente
+ d'afficher le contenu d'une variable non définie. Cet attribut
l'emporte sur toute directive errmsg
sizefmt
bytes
pour une taille en octets, ou abbrev
pour une taille
en Ko ou Mo selon son importance ; par exemple, une taille de 1024
- octets sera affichée sous la forme "1K".
timefmt
La valeur est une chaîne que pourra utiliser la fonction de la
- bibliothèque standard strftime(3)
lors de l'affichage
+
La valeur est une chaîne que pourra utiliser la fonction de la
+ bibliothèque standard strftime(3)
lors de l'affichage
des dates.
Cette commande affiche le contenu d'une des variables include définies ci-dessous. Si
- la variable n'est pas définie, le résultat est déterminé par la
+ href="#includevars">variables include définies ci-dessous. Si
+ la variable n'est pas définie, le résultat est déterminé par la
valeur de la directive timefmt
de la commande
+ défini par l'attribut timefmt
de la commande
config.
Attributs:
var
decoding
Spécifie si Apache doit effectuer un décodage dans la
- variable avant son traitement ultérieur. La valeur par défaut est
- none
, et dans ce cas, aucun décodage n'est effectué.
- Si la valeur est url
, un décodage de type URL sera
- effectué (il s'agit du codage de type %-encoding utilisé dans les
+
Spécifie si Apache doit effectuer un décodage dans la
+ variable avant son traitement ultérieur. La valeur par défaut est
+ none
, et dans ce cas, aucun décodage n'est effectué.
+ Si la valeur est url
, un décodage de type URL sera
+ effectué (il s'agit du codage de type %-encoding utilisé dans les
URLs des liens, etc...). Si la valeur est urlencoded
,
- c'est un décodage des éléments de type
- application/x-www-form-urlencode (que l'on trouve dans les chaînes
- de paramètres) qui sera effectué. Si la valeur est
+ c'est un décodage des éléments de type
+ application/x-www-form-urlencode (que l'on trouve dans les chaînes
+ de paramètres) qui sera effectué. Si la valeur est
base64
, un
- decodage de type base64 sera effectué, et si elle est
- entity
, c'est un décodage des entités HTML qui sera
- effectué. Ce décodage est effectué avant tout codage ultérieur de
- la variable. Il est possible d'effectuer plusieurs décodages en
- spécifiant plusieurs valeurs séparées par des virgules. Les
- spécifications de décodages restent valables jusqu'au prochain
- attribut de décodage, ou la fin de l'élément.
Pour être pris en compte, l'attribut de décodage
- doit précéder l'attribut var
correspondant.
entity
, c'est un décodage des entités HTML qui sera
+ effectué. Ce décodage est effectué avant tout codage ultérieur de
+ la variable. Il est possible d'effectuer plusieurs décodages en
+ spécifiant plusieurs valeurs séparées par des virgules. Les
+ spécifications de décodages restent valables jusqu'au prochain
+ attribut de décodage, ou la fin de l'élément.
+
+ Pour être pris en compte, l'attribut de décodage
+ doit précéder l'attribut var
correspondant.
encoding
Spécifie la manière dont Apache va coder les caractères
- spéciaux que la variable contient avant leur affichage. S'il est
- défini à none
, aucun codage ne sera effectué. S'il
- est défini à url
, un codage de type URL sera effectué
- (aussi connu sous le nom de codage avec caractères % , il convient
- pour les URLS des liens, etc...). S'il est défini à
+
Spécifie la manière dont Apache va coder les caractères
+ spéciaux que la variable contient avant leur affichage. S'il est
+ défini à none
, aucun codage ne sera effectué. S'il
+ est défini à url
, un codage de type URL sera effectué
+ (aussi connu sous le nom de codage avec caractères % , il convient
+ pour les URLS des liens, etc...). S'il est défini Ã
urlencoded
, c'est un codage compatible
- application/x-www-form-urlencoded qui sera effectué (à utiliser
- dans les chaînes de paramètres). S'il est défini à
+ application/x-www-form-urlencoded qui sera effectué (à utiliser
+ dans les chaînes de paramètres). S'il est défini Ã
base64
, c'est un encodage de type base64 qui sera
- effectué. Au début d'un élément
- echo
, la valeur par défaut est définie à
- entity
, ce qui correspond à un codage de type entité
- (codage qui convient pour un élément HTML de type bloc, comme le
- paragraphe d'un texte). Cette valeur par défaut peut être modifiée
+ effectué. Au début d'un élément
+ echo
, la valeur par défaut est définie Ã
+ entity
, ce qui correspond à un codage de type entité
+ (codage qui convient pour un élément HTML de type bloc, comme le
+ paragraphe d'un texte). Cette valeur par défaut peut être modifiée
en ajoutant un attribut encoding
, qui fera effet
- jusqu'à la définition d'un nouvel attribut encoding
- ou la fin de l'élément echo.
encoding
+ ou la fin de l'élément echo.
Pour produire son effet, l'attribut encoding
doit
- précéder l'attribut var
concerné.
var
concerné.
La commande La commande La valeur spécifie un chemin URL vers le script CGI (encodé
- avec caractères %). Si le chemin ne commence pas par un slash (/),
- il est considéré comme relatif au document courant. Le document
- référencé par ce chemin est invoqué en tant que script CGI, même
- s'il n'est pas censé être reconnu comme tel par le serveur. Les
- scripts CGI doivent cependant être activés dans le répertoire qui
+ La valeur spécifie un chemin URL vers le script CGI (encodé
+ avec caractères %). Si le chemin ne commence pas par un slash (/),
+ il est considéré comme relatif au document courant. Le document
+ référencé par ce chemin est invoqué en tant que script CGI, même
+ s'il n'est pas censé être reconnu comme tel par le serveur. Les
+ scripts CGI doivent cependant être activés dans le répertoire qui
contient les scripts (via la directive Le Le Si, à la place d'un flux de sortie, le script renvoie un
- en-tête Si, Ã la place d'un flux de sortie, le script renvoie un
+ en-tête L'élément L'élément Le serveur va exécuter la commande fournie en utilisant
+ Le serveur va exécuter la commande fournie en utilisant
Il est toujours préférable d'utiliser Il est toujours préférable d'utiliser De plus, sur certaines plate-formes, comme Win32, et sous unix,
si l'on utilise suexec, il est
- impossible de transmettre des arguments à une commande dans une
- directive Cette commande permet d'afficher la taille du fichier spécifié
- en fonction des spécifications de format de Cette commande permet d'afficher la taille du fichier spécifié
+ en fonction des spécifications de format de Cette commande permet d'afficher la date de dernière
- modification du fichier spécifié, en fonction des spécifications
- de format de Cette commande permet d'afficher la date de dernière
+ modification du fichier spécifié, en fonction des spécifications
+ de format de Cette commande permet d'insérer le texte d'un autre document ou
- fichier dans le fichier en cours d'interprétation. Tout fichier
- inclus est soumis au contrôle d'accès habituel. Si Cette commande permet d'insérer le texte d'un autre document ou
+ fichier dans le fichier en cours d'interprétation. Tout fichier
+ inclus est soumis au contrôle d'accès habituel. Si Options Un attribut définit le chemin du document à inclure, et peut
- apparaître plusieurs fois dans l'élément à inclure ; en retour, pour
- chaque attribut fourni à la commande include, une inclusion est
- effectuée. Les attributs disponibles sont : Un attribut définit le chemin du document à inclure, et peut
+ apparaître plusieurs fois dans l'élément à inclure ; en retour, pour
+ chaque attribut fourni à la commande include, une inclusion est
+ effectuée. Les attributs disponibles sont : La valeur est un chemin URL (codé avec caractères %). L'URL
- ne peut contenir qu'un chemin et une chaîne d'arguments
- éventuelle, à l'exclusion de tout protocole ou nom d'hôte. S'il ne
- commence pas par un slash (/), il est considéré comme relatif au
+ La valeur est un chemin URL (codé avec caractères %). L'URL
+ ne peut contenir qu'un chemin et une chaîne d'arguments
+ éventuelle, à l'exclusion de tout protocole ou nom d'hôte. S'il ne
+ commence pas par un slash (/), il est considéré comme relatif au
document courant. Une URL est construite à partir de l'attribut, et la sortie que
- renverrait le serveur si l'URL était accédée par le client est
- incluse dans la sortie interprétée. Les inclusions de fichiers
- peuvent ainsi être imbriquées. Une URL est construite à partir de l'attribut, et la sortie que
+ renverrait le serveur si l'URL était accédée par le client est
+ incluse dans la sortie interprétée. Les inclusions de fichiers
+ peuvent ainsi être imbriquées. Si l'URL spécifiée correspond à un programme CGI, le programme
- sera exécuté, et son flux de sortie inséré à la place de la
- directive dans le fichier interprété. Vous pouvez insérer une
- chaîne d'arguments dans une URL correspond à un programme CGI
+ Si l'URL spécifiée correspond à un programme CGI, le programme
+ sera exécuté, et son flux de sortie inséré à la place de la
+ directive dans le fichier interprété. Vous pouvez insérer une
+ chaîne d'arguments dans une URL correspond à un programme CGI
: Si la directive La valeur est un chemin-URL (codé-%) qui est affiché si une
- tentative précédente d'inclure un fichier ou un attribut virtuel a
- échoué. Pour produire son effet, cet attribut doit être spécifié
- après le fichier ou les attributs virtuels concernés. Si la
- tentative d'inclure le chemin onerror échoue, ou si onerror n'est
- pas spécifié, c'est le message d'erreur par défaut qui sera
+ La valeur est un chemin-URL (codé-%) qui est affiché si une
+ tentative précédente d'inclure un fichier ou un attribut virtuel a
+ échoué. Pour produire son effet, cet attribut doit être spécifié
+ après le fichier ou les attributs virtuels concernés. Si la
+ tentative d'inclure le chemin onerror échoue, ou si onerror n'est
+ pas spécifié, c'est le message d'erreur par défaut qui sera
inclus. Cette commande affiche la liste en mode texte de toutes les variables et de
- leurs valeurs. Les caractères spéciaux sont encodés Cette commande permet de définir la valeur d'une variable. Les
+ Cette commande permet de définir la valeur d'une variable. Les
attributs sont : Spécifie si Apache doit effectuer un décodage dans la
- variable avant son traitement ultérieur. La valeur par défaut est
- Spécifie si Apache doit effectuer un décodage dans la
+ variable avant son traitement ultérieur. La valeur par défaut est
+ Spécifie la manière dont Apache va encoder les caractères
- spéciaux que la variable contient avant leur affichage. S'il est
- défini à Spécifie la manière dont Apache va encoder les caractères
+ spéciaux que la variable contient avant leur affichage. S'il est
+ défini à À l'instar des variables de l'environnement CGI standard, ces
- variables sont mises à la disposition de la commande
- Ã l'instar des variables de l'environnement CGI standard, ces
+ variables sont mises à la disposition de la commande
+ Une substitution de variable à l'intérieur d'une chaîne entre
- guillemets s'effectue dans la plupart des situations où cette
- dernière peut raisonablement constituer un argument d'une directive
- SSI. Sont concernées les directives Une substitution de variable à l'intérieur d'une chaîne entre
+ guillemets s'effectue dans la plupart des situations où cette
+ dernière peut raisonablement constituer un argument d'une directive
+ SSI. Sont concernées les directives Si une référence de variable doit être substituée au beau milieu
- d'une séquence de caractères qui pourrait être elle-même considérée
- comme un identifiant valide, l'ambiguïté peut être levée en
- entourant la référence d'accolades, à la manière du shell : Si une référence de variable doit être substituée au beau milieu
+ d'une séquence de caractères qui pourrait être elle-même considérée
+ comme un identifiant valide, l'ambiguïté peut être levée en
+ entourant la référence d'accolades, à la manière du shell : Les éléments de base du contrôle d'inclusion conditionnelle sont
+ Les éléments de base du contrôle d'inclusion conditionnelle sont
: L'élément L'élément Les éléments Les éléments L'élément L'élément test_condition est une expression booléenne qui
+ test_condition est une expression booléenne qui
emprunte la syntaxe ap_expr. La directive
Le jeu de variables SSI avec l'élément Le jeu de variables SSI avec l'élément Dans l'exemple suivant, "depuis le réseau local" sera affiché si
- l'adresse IP du client appartient au sous-réseau 10.0.0.0/8. Dans l'exemple suivant, "depuis le réseau local" sera affiché si
+ l'adresse IP du client appartient au sous-réseau 10.0.0.0/8. Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable
+ Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable
Voir aussi Les expressions dans le serveur
- HTTP Apache pour une référence complète et des exemples. Les
+ HTTP Apache pour une référence complète et des exemples. Les
fonctions restricted ne sont pas disponibles dans
Cette section décrit la syntaxe de l'élément Cette section décrit la syntaxe de l'élément vrai si l'URL que contient la chaîne est accessible du
+ vrai si l'URL que contient la chaîne est accessible du
point de vue de la configuration, faux sinon. Il
- s'avère utile lorsqu'un lien vers une URL doit être caché aux
- utilisateurs qui ne sont pas autorisés à voir cette URL. Notez que
- le test porte sur l'autorisation d'accès à l'URL, et non sur son
+ s'avère utile lorsqu'un lien vers une URL doit être caché aux
+ utilisateurs qui ne sont pas autorisés à voir cette URL. Notez que
+ le test porte sur l'autorisation d'accès à l'URL, et non sur son
existence. Compare chaîne1 à chaîne2. Si
- chaîne2 est de la forme
- Compare chaîne1 à chaîne2. Si
+ chaîne2 est de la forme
+ exec
exécute la commande shell ou le
- script spécifié. Elle nécessite le chargement du module
+ exec
exécute la commande shell ou le
+ script spécifié. Elle nécessite le chargement du module
IncludesNOEXEC
est
- définie, cette commande est désactivée. Les attributs disponibles
+ définie, cette commande est désactivée. Les attributs disponibles
sont :
cgi
ExecCGI
).PATH_INFO
et la chaîne d'arguments
- (QUERY_STRING
) de la requête originale du client sont
- fournis au script CGI ; ils ne peuvent pas être spécifiés
+ PATH_INFO
et la chaîne d'arguments
+ (QUERY_STRING
) de la requête originale du client sont
+ fournis au script CGI ; ils ne peuvent pas être spécifiés
dans le chemin de l'URL. Le script disposera des variables include
en plus de l'environnement standard CGI.Location:
, ce dernier sera traduit en ancrage
+ Location:
, ce dernier sera traduit en ancrage
HTML.include
- virtual
doit être préféré à exec cgi
. En
+ include
+ virtual
doit être préféré à exec cgi
. En
particulier, si vous devez transmettre des arguments
- supplémentaires à un programme CGI en utilisant la chaîne
- d'arguments de la requête, c'est impossible avec exec
+ supplémentaires à un programme CGI en utilisant la chaîne
+ d'arguments de la requête, c'est impossible avec
exec
cgi
, mais vous pouvez y parvenir avec include
virtual
comme suit :cmd
/bin/sh
. La commande dispose des variables include, en plus du jeu habituel
de variables CGI.#include virtual
à la place de
+ #include virtual
à la place de
#exec cgi
ou #exec cmd
. #include
- virtual
utilise le mécanisme standard des sous-requêtes
+ virtual utilise le mécanisme standard des sous-requêtes
d'Apache pour inclure des fichiers ou des scripts. Il a fait
l'objet de tests plus approfondis et sa maintenance est mieux
suivie.exec
, à moins d'insérer des espaces dans la
+ impossible de transmettre des arguments à une commande dans une
+ directive exec
, à moins d'insérer des espaces dans la
commande. Ainsi, alors que ce qui suit fonctionnera sous unix avec
une configuration sans suexec, l'effet produit ne sera pas celui
- désiré sous Win32, ou dans le cas de l'utilisation de suexec
+ désiré sous Win32, ou dans le cas de l'utilisation de suexec
:sizefmt
.
+ sizefmt
.
Attributs :
file
file
ne peut pas faire référence à un
- fichier situé à un niveau supérieur de l'arborescence du répertoire
+ La valeur de file
ne peut pas faire référence à un
+ fichier situé à un niveau supérieur de l'arborescence du répertoire
courant ou en dehors de la racine des documents ; il ne peut donc
- ni commencer par un slash, ni contenir la séquence de caractères
+ ni commencer par un slash, ni contenir la séquence de caractères
../
. Si c'est le cas, le message d'erreur The
- given path was above the root path
sera renvoyé.
+ given path was above the root path sera renvoyé.
virtual
timefmt
. Les attributs sont les mêmes
+ timefmt
. Les attributs sont les mêmes
que ceux de la commande fsize
.IncludesNOEXEC
- est défini pour le répertoire contenant le fichier
- interprété, seuls les documents possèdant un
+ est défini pour le répertoire contenant le fichier
+ interprété, seuls les documents possèdant un
text/plain
, text/html
, etc...) seront
- inclus. Les scripts CGI, quant à eux, sont invoqués de manière
- habituelle en utilisant l'URL complète fournie avec la commande, y
- compris toute chaîne d'arguments éventuelle.
file
../
, ni être un chemin absolu. Ainsi, vous ne pouvez
- pas inclure de fichiers situés en dehors de l'arborescence du
- site web ou dans un niveau supérieur à celui du fichier courant
- dans cette arborescence. Il est toujours préférable d'utiliser
+ ../
, ni être un chemin absolu. Ainsi, vous ne pouvez
+ pas inclure de fichiers situés en dehors de l'arborescence du
+ site web ou dans un niveau supérieur à celui du fichier courant
+ dans cette arborescence. Il est toujours préférable d'utiliser
l'attribut virtual
.virtual
include virtual
doit être préféré à exec
+
include virtual
doit être préféré à exec
cgi
pour inclure le flux de sortie d'un programme CGI dans
un document HTML.onerror
+ # Chemins onerror dédiés
<!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" -->
entity
avant
- d'être affichés (se reporter à l'élément echo
pour plus de détails). Cette
+ leurs valeurs. Les caractères spéciaux sont encodés entity
avant
+ d'être affichés (se reporter à l'élément echo
pour plus de détails). Cette
commande ne comporte pas d'attributs.
var
value
decoding
none
, et dans ce cas, aucun décodage n'est effectué.
+ none
, et dans ce cas, aucun décodage n'est effectué.
Si la valeur est url
, urlencoded
,
base64
ou
- entity
, c'est un décodage de type URL,
+ entity
, c'est un décodage de type URL,
application/x-www-form-urlencoded, base64 ou
- entité HTML qui sera respectivement effectué. Il est possible
- d'effectuer plusieurs décodages en
- spécifiant plusieurs valeurs séparées par des virgules. Les
- spécifications de décodages restent valables jusqu'au prochain
- attribut de décodage, ou la fin de l'élément. Pour être pris en
- compte, l'attribut de décodage
- doit précéder l'attribut var
correspondant.décodage
+ doit précéder l'attribut var
correspondant.encoding
none
, aucun encodage ne sera effectué. Si la
+ none
, aucun encodage ne sera effectué. Si la
valeur est url
, urlencoding
,
base64
ou
entity
, c'est un encodage de type URL,
application/x-www-form-urlencoded, base64 ou
- entité HTML qui sera respectivement effectué. Il est possible de
- spécifier plusieurs types d'encodage en les séparant par des
- virgules. La spécification du type d'encodage fera effet
- jusqu'à la définition d'un nouvel attribut encoding
- ou la fin de l'élément. Pour produire son effet, l'attribut encoding
doit
- précéder l'attribut var
concerné. Les encodages sont
- effectués après les opérations de décodage.encoding
doit
+ précéder l'attribut var
concerné. Les encodages sont
+ effectués après les opérations de décodage.echo
, des opérateurs conditionnels if
et
- elif
, et de tout programme invoqué par le document.echo
, des opérateurs conditionnels if
et
+ elif
, et de tout programme invoqué par le document.
DATE_GMT
DATE_LOCAL
DOCUMENT_ARGS
include
, QUERY_STRING
contiendra la chaîne
+ de paramètres de la sous-requête et DOCUMENT_ARGS
la chaîne
+ de paramètres du document SSI (disponible à partir de la version 2.4.19 du
+ serveur HTTP Apache).DOCUMENT_NAME
DOCUMENT_URI
LAST_MODIFIED
QUERY_STRING_UNESCAPED
&
,etc...
- sont précédés d'anti-slashes).&
,etc...
+ sont précédés d'anti-slashes). Cette variable n'est pas définie si aucune
+ chaîne d'arguments n'est présente. Utilisez DOCUMENT_ARGS
si
+ l'échappement des caractères du shell n'est pas souhaité.config
,
+ config
,
exec
, flastmod
, fsize
,
include
, echo
, et set
. Si la
directive on
, la substitution s'effectue aussi dans les arguments
- des opérateurs conditionnels. Vous pouvez insérer
- un signe dollar en tant que caractère littéral dans une chaîne en
+ des opérateurs conditionnels. Vous pouvez insérer
+ un signe dollar en tant que caractère littéral dans une chaîne en
utilisant un anti-slash :if
fonctionne de la même manière que
+ if
fonctionne de la même manière que
la directive if d'un langage de programmation. La condition est
- évaluée et si le résultat est vrai, le texte qui suit jusqu'au
- prochain élément elif
, else
ou
+ évaluée et si le résultat est vrai, le texte qui suit jusqu'au
+ prochain élément elif
, else
ou
endif
sera inclus dans le flux de sortie.elif
ou else
permettent
- d'insérer du texte dans le flux de sortie si
- test_condition s'est révélé faux. Ces éléments sont
+ elif
ou else
permettent
+ d'insérer du texte dans le flux de sortie si
+ test_condition s'est révélé faux. Ces éléments sont
optionnels.endif
termine le bloc de traitement
+ endif
termine le bloc de traitement
conditionnel if
et est obligatoire.var
sont
- exportées vers l'environnement de la requête et sont accessibles via
+ var
sont
+ exportées vers l'environnement de la requête et sont accessibles via
la fonction reqenv
. Pour faire simple, le nom de
fonction v
est aussi disponible dans le module
+ depuis le réseau local
foo
contient la valeur "bar".#if
- expr
dans le cas où la directive #if
+ expr
dans le cas où la directive on
.
-
chaîne
chaîne
-A string
+ Cliquez <a href="/prive">ici</a> pour accéder aux
+ informations privées.
chaîne1 = chaîne2
- chaîne1 == chaîne2
- chaîne1 != chaîne2chaîne1 = chaîne2
+ chaîne1 == chaîne2
+ chaîne1 != chaîne2/chaîne2/
, elle est traitée comme une
+ /chaîne2/
, elle est traitée comme une
expression rationnelle. Les expressions rationnelles sont
- implémentées par le moteur PCRE
- et possèdent la même syntaxe que celles de PCRE
+ et possèdent la même syntaxe que celles de perl 5. Notez que ==
n'est qu'un alias pour =
et se comporte exactement de
- la même manière que ce dernier.
Si vous faites une comparaison directe (=
ou
==
), vous pouvez extraire des parties de l'expression
- rationnelle. Les parties extraites sont stockées dans les
- variables spéciales $1
.. $9
. L'ensemble
- de la chaîne correspondant à l'expression rationnelle est stocké
- dans la variable spéciale $0
.
$1
.. $9
. L'ensemble
+ de la chaîne correspondant à l'expression rationnelle est stocké
+ dans la variable spéciale $0
.
chaîne1 < chaîne2
- chaîne1 <= chaîne2
- chaîne1 > chaîne2
- chaîne1 >= chaîne2
chaîne1 < chaîne2
+ chaîne1 <= chaîne2
+ chaîne1 > chaîne2
+ chaîne1 >= chaîne2
strcmp(3)
). Ainsi, la chaîne "100" est inférieure à
+ strcmp(3)
). Ainsi, la chaîne "100" est inférieure Ã
"20".( test_condition )
"=
" et "!=
" ont une priorité supérieure
- à "&&
" et "||
". "!
" a
- la priorité la plus haute. Ainsi, les deux directives suivantes sont
- équivalentes :
"=
" et "!=
" ont une priorité supérieure
+ Ã "&&
" et "||
". "!
" a
+ la priorité la plus haute. Ainsi, les deux directives suivantes sont
+ équivalentes :
Les opérateurs booléens &&
et
- ||
ont la même priorité. Ainsi, si vous voulez
- augmenter la priorité d'un de ces opérateurs, vous devez utiliser
- des parenthèses.
Les opérateurs booléens &&
et
+ ||
ont la même priorité. Ainsi, si vous voulez
+ augmenter la priorité d'un de ces opérateurs, vous devez utiliser
+ des parenthèses.
Tout ce qui n'est pas reconnu comme variable ou opérateur est
- traité comme une chaîne. Les chaînes peuvent aussi être entourées
- d'apostrophes : 'chaîne'
. Les chaînes sans apostrophe
+
Tout ce qui n'est pas reconnu comme variable ou opérateur est
+ traité comme une chaîne. Les chaînes peuvent aussi être entourées
+ d'apostrophes : 'chaîne'
. Les chaînes sans apostrophe
ne peuvent pas contenir d'espaces (espaces ou tabulations) car
- ceux-ci servent à séparer certains éléments comme les variables. Si
- plusieurs chaînes se trouvent dans une ligne, elles sont concaténées
+ ceux-ci servent à séparer certains éléments comme les variables. Si
+ plusieurs chaînes se trouvent dans une ligne, elles sont concaténées
en utilisant des espaces. Ainsi,
chaîne1 chaîne2
devient chaîne1 chaîne2
+
chaîne1 chaîne2
devient chaîne1 chaîne2
et
- 'chaîne1 chaîne2'
devient chaîne1 chaîne2
.
'chaîne1 chaîne2'
devient chaîne1 chaîne2
.
Si les expressions atteignent une complexité suffisante pour - ralentir les traitements de manière significative, vous pouvez - essayer de les optimiser en fonction des règles d'évaluation :
+Si les expressions atteignent une complexité suffisante pour + ralentir les traitements de manière significative, vous pouvez + essayer de les optimiser en fonction des règles d'évaluation :
&&
et
- ||
) font l'objet d'une évaluation abrégée chaque fois
- que cela est possible. En d'autres termes, et selon la règle
- ci-dessus, $1
.. $9
).&&
et
+ ||
) font l'objet d'une évaluation abrégée chaque fois
+ que cela est possible. En d'autres termes, et selon la règle
+ ci-dessus, $1
.. $9
).Si vous voulez déterminer la manière dont une expression est
- traitée, vous pouvez recompiler
Si vous voulez déterminer la manière dont une expression est
+ traitée, vous pouvez recompiler -DDEBUG_INCLUDE
.
- Ceci a pour effet d'insérer, pour chaque expression interprétée,
- des informations étiquetées, l'arbre d'interprétation et la
- manière dont elle est évaluée au sein du flux de sortie envoyé au
+ Ceci a pour effet d'insérer, pour chaque expression interprétée,
+ des informations étiquetées, l'arbre d'interprétation et la
+ manière dont elle est évaluée au sein du flux de sortie envoyé au
client.
Tous les caractères slashes qui ne sont pas des séparateurs dans - votre expression rationnelle doivent être échappés, et ceci sans +
Tous les caractères slashes qui ne sont pas des séparateurs dans + votre expression rationnelle doivent être échappés, et ceci sans tenir compte de leur signification du point de vue du moteur d'expressions rationnelles.
Voir le document Les expressions dans le - serveur HTTP Apache, pour une référence complète et des exemples.
+ serveur HTTP Apache, pour une référence complète et des exemples.Cette directive permet de modifier la chaîne que
-
Cette directive permet de modifier la chaîne que
+
Cette directive permet de modifier la chaîne affichée par +
Cette directive permet de modifier la chaîne affichée par
La directive "<!-- Error
- -->"
, de façon à ce que le message ne soit pas
- présenté à l'utilisateur.
"<!-- Error
+ -->"
, de façon à ce que le message ne soit pas
+ présenté à l'utilisateur.
- Cette directive a le même effet que l'élément +
Cette directive a le même effet que l'élément
<!--#config errmsg=message -->
.
Cette directive permet de modifier la chaîne que
-
Cette directive permet de modifier la chaîne que
+
Cette option peut vous être utile si vous avez deux serveurs qui - interprètent un fichier avec des commandes différentes (et - éventuellement à des moments différents).
+Cette option peut vous être utile si vous avez deux serveurs qui + interprètent un fichier avec des commandes différentes (et + éventuellement à des moments différents).
Avec l'exemple ci-dessus, qui définit aussi une directive +
Avec l'exemple ci-dessus, qui définit aussi une directive
Cette directive permet de modifier le format d'affichage des
-variables d'environnement DATE
. La chaîne de
-formatage est identique à celle de la fonction
-strftime(3)
de la bibliothèque C standard.
DATE
. La chaîne de
+formatage est identique à celle de la fonction
+strftime(3)
de la bibliothèque C standard.
- Cette directive a le même effet que l'élément
- Cette directive a le même effet que l'élément
+ Avec l'exemple ci-dessus, les dates seront affichées dans le
+ Avec l'exemple ci-dessus, les dates seront affichées dans le
style "22:26, June 14, 2002".<!--#config timefmt=chaîne de formatage
+
<!--#config timefmt=chaîne de formatage
-->
.
Dans le cas général, un fichier filtré par
- ETag
à la réponse
- en ajoutant no-etag
aux informations de requête.
Ce comportement peut être modifié via la directive
- ETag
. On peut aussi l'utiliser pour la mise
- en cache de la sortie. Notez qu'un serveur d'arrière-plan ou un
- générateur de contenu dynamique peut lui-même générer un en-tête
+
Dans le cas général, un fichier filtré par
+ ETag
à la réponse
+ en ajoutant no-etag
aux informations de requête.
Ce comportement peut être modifié via la directive
+ ETag
. On peut aussi l'utiliser pour la mise
+ en cache de la sortie. Notez qu'un serveur d'arrière-plan ou un
+ générateur de contenu dynamique peut lui-même générer un en-tête
ETag
, en ignorant l'information no-etag
,
- cet en-tête ETag
étant transmis par
- ETag
étant transmis par
+
off
no-etag
sera ajouté aux informations de
- requête, et il sera demandé au serveur de ne pas générer
- d'en-tête ETag
. Lorsqu'un serveur ignore la valeur
- de no-etag
et génère tout de même un en-tête
- ETag
, ce dernier sera respecté.no-etag
sera ajouté aux informations de
+ requête, et il sera demandé au serveur de ne pas générer
+ d'en-tête ETag
. Lorsqu'un serveur ignore la valeur
+ de no-etag
et génère tout de même un en-tête
+ ETag
, ce dernier sera respecté.on
ETag
existants seront respectés,
- et ceux générés par le serveur seront ajoutés à la réponse.ETag
existants seront respectés,
+ et ceux générés par le serveur seront ajoutés à la réponse.Last-Modified
sont
-générés par le serveur.Last-Modified
sont
+générés par le serveur.Dans le cas général, un fichier filtré par
- Last-Modified
est supprimé par défaut de la réponse.
Dans le cas général, un fichier filtré par
+ Last-Modified
est supprimé par défaut de la réponse.
La directive Last-Modified
soit respecté s'il est déjà présent, ou
- défini dans le cas contraire. On peut aussi l'utiliser pour la mise
+ modifier ce comportement en faisant en sorte que l'en-tête
+ Last-Modified
soit respecté s'il est déjà présent, ou
+ défini dans le cas contraire. On peut aussi l'utiliser pour la mise
en cache de la sortie. La directive
off
Last-Modified
sera supprimé des
- réponses, à moins que la directive full
comme décrit plus loin.Last-Modified
sera supprimé des
+ réponses, à moins que la directive full
comme décrit plus loin.on
Last-Modified
sera respecté s'il est
- déjà présent, et ajouté à la réponse si cette dernière est un
- fichier et si l'en-tête est manquant. La directive Last-Modified
sera respecté s'il est
+ déjà présent, et ajouté à la réponse si cette dernière est un
+ fichier et si l'en-tête est manquant. La directive Depuis la version 2.3.13,
Depuis la version 2.3.13, #if
. Cette directive permet de réactiver l'#if. Cette directive permet de réactiver l'ancienne syntaxe qui est compatible avec les
- versions 2.2.x et antérieures d'Apache HTTPD.
+ versions 2.2.x et antérieures d'Apache HTTPD.
La directive
La directive text/html
.
off
on
text/html
dont le bit d'exécution
- est positionné pour le propriétaire sera traité en tant que
- document html interprété par le serveur.text/html
dont le bit d'exécution
+ est positionné pour le propriétaire sera traité en tant que
+ document html interprété par le serveur.full
on
, avec test du bit d'exécution pour
- le groupe. Si ce dernier est positionné, la date de dernière
- modification
du fichier renvoyé est définie à la date de
- dernière modification du fichier. Dans le cas contraire, aucune
- date de dernière modification n'est renvoyée. Le positionnement de
- ce bit permet aux clients et aux mandataires de gérer la mise en
- cache du résultat de la requête.
+ on
, avec test du bit d'exécution pour
+ le groupe. Si ce dernier est positionné, la date de dernière
+ modification
du fichier renvoyé est définie à la date de
+ dernière modification du fichier. Dans le cas contraire, aucune
+ date de dernière modification n'est renvoyée. Le positionnement de
+ ce bit permet aux clients et aux mandataires de gérer la mise en
+ cache du résultat de la requête.
Il est recommandé de n'utiliser l'option full que dans le cas
- où vous êtes certain que le bit d'exécution du groupe est non
- positionné pour les scripts SSI qui pourraient effectuer l'Il est recommandé de n'utiliser l'option full que dans le cas
+ où vous êtes certain que le bit d'exécution du groupe est non
+ positionné pour les scripts SSI qui pourraient effectuer l'
#include
d'un programme CGI ou bien produire des sorties
- différentes à chaque accès (ou seraient susceptibles d'être
- modifiées au cours des requêtes ultérieures).
Lorsqu'elle est définie à on
, la directive
+
Lorsqu'elle est définie à on
, la directive