From: Lucien Gentis PATH_INFO.
Supposons par exemple que Au cours du traitement d'une requête, le serveur recherche le
- premier fichier de configuration existant à partir de la liste
- de noms dans chaque répertoire composant le chemin du document, Ã
- partir du moment où les fichiers de configuration distribués sont activés pour ce répertoire. Par exemple
- : avant de renvoyer le document
- La directive AccessFileName permet de modifier le nom du fichier qui sera
+ pris en compte pour les outrepassements de configuration au niveau du
+ répertoire, si la directive Lors du traitement dâune requête, le serveur cherche les fichiers dont le
+ nom (ou les noms) sont définis à lâaide de la directive Câest pour cette raison que le fichier de configuration par défaut
+ contient les instructions suivantes : Ce bloc de configuration permet de prévenir tout accès non nécessaire Ã
+ des fichiers dans des répertoires en dehors de votre racine des documents
+ Lorsque le serveur trouve un fichier Lorsque le serveur trouve un fichier de configuration distribuée (nommé
+ en général Bien que la liste des options disponibles dans les fichiers
@@ -527,7 +538,7 @@ All pour les versions antérieures
Dans l'exemple ci-dessus, toutes les directives qui ne font
+ Dans l'exemple ci-dessus, toutes les directives qui ne font
partie ni du groupe /test/ pointe vers un
répertoire qui ne contient que le fichier here.html.
@@ -217,27 +217,39 @@ nom de chemin en fin de requête.
/usr/local/web/index.html, le serveur va rechercher les
- fichiers /.acl, /usr/.acl,
- /usr/local/.acl et /usr/local/web/.acl
- pour y lire d'éventuelles directives, à moins quelles n'aient été
- désactivées avecAccessFileName dans
+ tous les répertoires du chemin du document, si les fichiers de configuration
+ distribués sont autorisés pour ce répertoire.
+ Par exemple, avant de renvoyer le document
+ /usr/local/web/index.html, le serveur va rechercher des
+ directives dans les fichiers /.htaccess, /usr/.htaccess,
+ /usr/local/.htaccess et /usr/local/web/.htaccess.AllowOverride..htaccess
.htaccess (dont
- le nom est défini par la directive .htaccess â configurable à lâaide de la directive
+ AuthConfig. Sont aussi incluses les directives
+ AuthConfig, ni du groupe
Indexes, provoquent une erreur "Internal
Server Error"..htaccessAuthConfig, et
FileInfo. Toutes les autres
- provoqueront une erreur interne du serveur.
FileInfo. Le jeu de directives
+ permises effectif est lâunion des deux. Toutes les autres causeront une
+ erreur interne du serveur.
+
+ En outre, certaines directives sont toujours permises dans les fichiers
+ .htaccess, pourvu que le mécanisme dâoutrepassement soit activé
+ (câest-à -dire que la directive None). Ces directives sont listées dans la section All de lâindex de la classe override.
Cette directive permet de contrôler la manière dont certaines variables CGI - sont définies.
+ sont définies lorsque des requêtes sont transmises à des scripts CGI ou + dâautres gestionnaires qui reçoivent un environnement CGI. Actuellement, la + seule variable prise en charge estREQUEST_URI.
+
+ Par défaut, la variable dâenvironnement CGI REQUEST_URI
+ contient lâURI original de la requête du client. Cela implique que même si
+
Avec CGIVar REQUEST_URI current-uri, la valeur est définie Ã
+ lâURI actuel après lâapplication de toute réécriture ou redirection interne.
règles REQUEST_URI :
+Valeurs autorisées :
original-uri (valeur par défaut)REQUEST_URI avec lâURI de la requête originale du
+ client, sans tenir compte dâune réécriture ou redirection interne
+ quelconque.current-uriREQUEST_URI avec lâURI de la ressource en train
+ dâêtre traitée, qui peut être différente de la requête originale en cas de
+ réécriture ou de redirection interne.Dans tous les cas, la variable dâenvironnement CGI REQUEST_URI
+ contient lâURI complet, y compris la chaîne de paramètres. Cela est différent
+ pour la variable de serveur %{REQUEST_URI} utilisée dans
+
Notez que la politique d'accès par défaut
+ La politique d'accès par défaut
dans les sections <Directory "/"> consiste Ã
autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
correspondant à une URL. Il est recommandé de modifier cette
- situation à l'aide d'un bloc du style
puis d'affiner la configuration pour les répertoires que vous
+ Puis dâaffiner la configuration pour les répertoires que vous
voulez rendre accessibles. Voir la page Conseils à propos de sécurité
- pour plus de détails.
Les sections Les balises Les balises A partir de la version 2.4.8, les groupes nommés et les
@@ -1381,13 +1431,10 @@ Apache
Cette directive permet de modifier les règles qui s'appliquent à la ligne
- de requête HTTP (RFC 7230
- §3.1.1) et aux champs des en-têtes des requêtes HTTP (RFC 7230
- §3.2), qui s'appliquent maintenant par défaut ou en utilisant
- l'option Avant l'introduction de cette directive, les interpréteurs de requêtes du
serveur HTTP Apache toléraient un grand nombre de formats en entrée qui
- n'étaient pas forcément conformes au protocole. RFC 7230 §9.4
- Request Splitting et §9.5 Response
- Smuggling ne rappellent que deux des risques potentiels induits par des
- requêtes non conformes, alors que RFC 7230
- §3.5 signale les risques encourus par l'acceptation de blancs non
- conformes dans les lignes de requête. Avec l'introduction de cette
- directive, toutes les règles de grammaire de la spécification doivent être
- respectées dans le mode d'opérations par défaut Il est fortement déconseillé aux utilisateurs d'utiliser le mode
@@ -1448,16 +1493,14 @@ Apache
La section de la RFC 7231
- §4.1 "Request Methods" "Overview" indique que les serveurs doivent
- renvoyer un message d'erreur lorsque la ligne de requête comporte une
- méthode non supportée. C'est déjà le cas lorsque l'option
- La section "Overview" de la L'option
@@ -1477,16 +1520,13 @@ Apache
La section de la RFC 2616
- §19.6 "Compatibility With Previous Versions" encouragait les
- serveurs HTTP à supporter les anciennes requêtes HTTP/0.9. La RFC 7230 va
- cependant à son encontre via sa préconisation "Le souhait de supporter les
- requêtes HTTP/0.9 a été supprimé" et y adjoint des commentaires dans RFC 7230 Appendix
- A. A ce titre, l'option La Quand lâargument est une chaîne de texte (câest-à -dire ni un chemin, ni
+ un URL), il est envoyé au client avec De plus, on peut spécifier la valeur spéciale Il peut arriver que certains items de la chaîne de format ne
+ Il peut arriver que certains spécificateurs de format ne
produisent aucune sortie. Par exemple, l'en-tête Referer n'est
présent que si le message du journal est associé à une requête et s'il
est généré à un moment où l'en-tête Referer a déjà été lu par le
client. Si aucune sortie n'est générée, le comportement par défaut
consiste à supprimer tout ce qui se trouve entre l'espace précédent
- et le suivant. Ceci implique que la ligne de journalisation est
+ et le suivant. Ceci implique que la chaîne de format est
divisée en champs ne contenant pas d'espace séparés par des espaces.
- Si un item de la chaîne de format ne génère aucune sortie,
+ Si un spécificateur de format ne génère aucune sortie,
l'ensemble du champ est omis. Par exemple, si l'adresse distante
Un modificateur de type entier permet d'assigner un niveau de
sévérité à un item de format. L'item considéré ne
- sera journalisé que si la sévérité du message n'est pas
- plus haute que le niveau de sévérité spécifié. Les
+ sera journalisé que si le message journalisé possède un niveau de sévérité
+ du nombre spécifié ou supérieur (câest-à -dire que le nombre correspondant au
+ niveau de sévérité du message est inférieur ou égal au modificateur). Les
valeurs possibles vont de 1 (alert) Ã 15 (trace8), en passant par 4
(warn) ou 7 (debug). Certains items de format acceptent des paramètres supplémentaires
+ Certains spécificateurs de format acceptent des paramètres supplémentaires
entre accolades. Les directives L'URL peut contenir des caractères génériques. Dans une chaîne
avec caractères génériques, Bien que le serveur suive les liens symboliques, il ne modifie
+ Quand le serveur suit les liens symboliques, il ne modifie
pas le nom de chemin concerné défini par la section
Désactiver cette option empêche aussi Les options Spécifier des protocoles non disponibles ou désactivés n'aura
aucun effet, et ceux-ci seront simplement ignorés. Le protocole Si un serveur virtuel ne possède pas de directive Protocols
propre, il hérite des protocoles spécifiés pour le serveur
@@ -4934,8 +5016,9 @@ s'authentifier lui-même
Cette directive est aussi utilisée lors de la création d'URLs de
redirection relatives quand la directive
- Par exemple, si le nom de la
machine hébergeant le serveur web est
@@ -4971,7 +5054,6 @@ s'authentifier lui-même
doit apparaître dans l'en-tête de requête Parfois, le serveur s'exécute en amont d'un dispositif qui
implémente SSL, comme un mandataire inverse, un répartiteur de
charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
@@ -5002,6 +5084,14 @@ s'authentifier lui-même
+ Les adresses IPv6 ne sont actuellement pas prises
+ en charge par la directive La directive Il sâagit dâune fonctionnalité patrimoniale qui permet dâassurer
+ une compatibilité avec les clients HTTP/1.0 qui nâenvoient pas dâen-tête
+ Comme Comme Les directives Bien que certains prétendent le contraire, activer la méthode
httpd.conf. Les directives </DirectoryMatch> permettent de regrouper un
- ensemble de directives qui ne s'appliqueront qu'au répertoire
- précisé (et aux fichiers qu'il contient), comme pour la section </DirectoryMatch> permettent de regrouper un ensemble de
+ directives qui ne s'appliqueront quâaux répertoires (et aux fichiers quâils
+ contiennent) dont le chemin du système de fichiers correspond à lâ^
+ ou $ dans le motif. Par exemple :$, vous devrez
+ peut-être comparer les deux formes ; par exemple, <DirectoryMatch
+ "^/var/www/?$">.
Strict. L'option Unsafe
- a été ajoutée pour pouvoir restaurer les anciens
+ de requête HTTP (Strict. L'option
+ Unsafe a été ajoutée pour pouvoir restaurer les anciens
comportements nécessaires aux anciens modules et applications et aux agents
utilisateurs personnalisés considérés comme obsolètes.Strict.Strict.LenientMethods est utilisée, mais les administrateurs ont la
- possibilité de limiter les méthodes utilisées via l'option
- RegisteredMethods en enregistrant toute méthode non standard
- via la directive Unsafe est utilisée.LenientMethods est utilisée, mais les
+ administrateurs ont la possibilité de limiter les méthodes utilisées via
+ l'option RegisteredMethods en enregistrant toute méthode non
+ standard via la directive Unsafe est utilisée.Require1.0 permet à l'utilisateur
- d'inhiber le comportement induit par l'option par défaut
- Allow0.9.Require1.0 permet à l'utilisateur d'inhiber le
+ comportement induit par l'option par défaut Allow0.9.text/html comme type de
+ contenu, si bien que vous pouvez inclure des balises HTML. Vous pouvez
+ utiliser une controblique comme caractère de continuation de ligne afin de
+ répartir le document sur plusieurs lignes :default
pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
dur. Bien que non nécessaire dans des circonstances normales, la
@@ -1763,15 +1819,15 @@ ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
connexion ou d'une requête ne génère aucun message dans le journal,
alors aucune information additionnelle n'est enregistrée.%a du format [%t] [%l] [%a] %M n'est
pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
@@ -1791,8 +1847,9 @@ ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
- %4{Referer}iN'enregistre le contenu de l'en-tête
+ la sévérité du message de journalisation est 4 (avertissement) ou supérieure
+ (niveaux 1 Ã 4 : alerte, critique, erreur, avertissement).
Referer que si
- la sévérité du message de journalisation est supérieure à 4.
@@ -2988,7 +3046,13 @@ certaines méthodes HTTP
une section
/chemin/. Aucun protocole, nom d'hôte, port, ou chaîne
de requête ne doivent apparaître. Pour les requêtes mandatées, l'URL
- spécifiée doit être de la forme
+ à comparer dépend du type de mandataire. Avec un mandataire direct
+ (forward) (configuré via protocole://nom_serveur/chemin, et vous devez inclure
- le préfixe./chemin/,
+ comme vous le feriez pour la requête originale.
? correspond à un caractère
@@ -4272,10 +4343,14 @@ particulier
Le serveur va suivre les liens symboliques dans le répertoire
concerné. Il s'agit de la valeur par défaut.
.htaccess et
+ sections FollowSymLinks et
SymLinksIfOwnerMatch ne fonctionnent que dans les
@@ -4490,6 +4565,13 @@ serveur HTTP Apache.
http/1.1 est
+ toujours disponible, même sâil est exclu de cette directive. Cette
+ dernière permet de spécifier les protocoles supplémentaires disponibles
+ pour la négociation, ainsi que leur ordre de préférence lorsquâelle est
+ utilisée avec la directive
+ On. Si UseCanonicalName est définie Ã
+ DNS, une recherche DNS inverse est effectuéeHost: pour
pouvoir atteindre ce serveur virtuel.Host:. Lorsquâun tel client soumet un URL correspondant à la
+ valeur de la directive Host:, ce qui rend
+ cette directive inutile.None.
TRACE. Pour ce faire,
+ utilisez la directive TRACE ne constitue pas un problème de sécurité dans Apache