<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Module Apache mod_access_compat

Langues Disponibles:  en  |  fr  |  ja 

Description:Autorisations de groupe à base de nom d'hôte (nom ou adresse IP)
Statut:Extension
Identificateur de Module:access_compat_module
Fichier Source:mod_access_compat.c
Compatibilité:Disponible dans la version 2.3 du serveur HTTP Apache à des fins de compatibilité avec les précédentes versions d'Apache httpd 2.x. Les directives fournies par ce module sont devenues obsolètes depuis la refonte d'authz. Voir mod_authz_host

Sommaire

Les directives fournies par le module mod_access_compat s'utilisent dans les sections <Directory>, <Files> et <Location>, ainsi que dans les fichiers .htaccess et permettent de contrôler l'accès à certaines parties du serveur. On peut contrôler cet accès en fonction du nom d'hôte du client, de son adresse IP ou d'autres caractéristiques de la requête, telles qu'elles sont enregistrées dans les variables d'environnement. Les directives Allow et Deny permettent de spécifier quels clients sont ou ne sont pas autorisés à accéder au serveur, alors que la directive Order définit le statut d'accès par défaut, et détermine la manière dont les directives Allow et Deny interagissent entre elles.

Les restrictions d'accès à base de nom d'hôte et l'authentification à base de mot de passe peuvent être implémentées simultanément. Dans ce cas, on utilise la directive Satisfy pour déterminer la manière dont ces deux modes de restrictions interagissent.

Note

Les directives fournies par le module mod_access_compat sont devenues obsolètes depuis la refonte du module mod_authz_host. Mélanger d'anciennes directives comme Order, Allow ou Deny avec des nouvelles comme Require est techniquement possible mais déconseillé. En effet, mod_access_compat a été conçu pour supporter des configurations ne contenant que des anciennes directives afin de faciliter le passage à la version 2.4. Voir le document upgrading pour plus de détails.

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 restreindre certaines méthodes, alors que les autres méthodes ne se verront imposée aucune restriction, en regroupant les directives à l'intérieur d'une section <Limit>.

Fusion des sections de configuration

Lorsqu'une directive fournie par ce module est utilisée dans une nouvelle section de configuration, cette dernière n'hérite d'aucune directive définie dans une section précédente.

Support Apache!

Directives

Traitement des bugs

Voir aussi

top

Directive Allow

Description:Spécifie quels hôtes peuvent accéder à une certaine zone du serveur
Syntaxe: Allow from all|hôte|env=[!]variable d'environnement [hôte|env=[!]variable d'environnement] ...
Contexte:répertoire, .htaccess
Surcharges autorisées:Limit
Statut:Extension
Module:mod_access_compat

La directive Allow permet de définir quels hôtes ont le droit d'accéder à une certaine partie du serveur. On peut contrôler l'accès par nom d'hôte, adresse IP, intervalle d'adresses IP, ou toute autre caractéristique de la requête client enregistrée dans les variables d'environnement.

Le premier argument de cette directive est toujours from. Les arguments suivants peuvent prendre trois formes différentes. Si Allow from all est spécifié, tout hôte se voit accordé l'accès, en tenant compte des directives Deny et Order comme décrit plus loin. Pour ne permettre l'accès au serveur qu'à un hôte ou un groupe d'hôtes particuliers, on peut spécifier un nom d'hôte sous une des formes suivantes :

Un nom de domaine (partiel)
Allow from example.org
Allow from .net example.edu

Les hôtes dont les noms correspondent ou se terminent par la chaîne spécifiée ont l'autorisation d'accès. Seules les composantes entières du nom d'hôte doivent correspondre ; ainsi, dans l'exemple ci-dessus, foo.example.org correspondra, mais fooexample.org ne conviendra pas. Avec cette configuration, Apache httpd va effectuer une double recherche DNS sur l'adresse IP du client, sans tenir compte de la définition de la directive HostnameLookups. Tout d'abord, une recherche DNS inverse sur l'adresse IP est effectuée pour déterminer le nom d'hôte associé, puis une recherche directe sur le nom d'hôte est effectuée afin de s'assurer qu'il correspond bien à l'adresse IP originale. L'accès ne sera accordé que si le nom d'hôte correspond et si les recherches DNS inverse et directe concordent.

Une adresse IP complète
Allow from 10.1.2.3
Allow from 192.168.1.104 192.168.1.205

L'adresse IP d'un hôte auquel on a accordé l'accès

Une adresse IP partielle
Allow from 10.1
Allow from 10 172.20 192.168.2

De un à trois des premiers octets d'une adresse IP, afin de restreindre l'accès à un sous-réseau.

Une paire réseau/masque de sous-réseau
Allow from 10.1.0.0/255.255.0.0

Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z, pour une définition plus précise de la restriction d'accès imposée à un sous-réseau.

Une spécification CIDR réseau/nnn
Allow from 10.1.0.0/16

Identique au cas précédent, mis à part que le masque est constitué des nnn bits de poids fort.

Notez que les trois derniers exemples désignent le même ensemble d'hôtes.

On peut spécifier des adresses et sous-réseaux IPv6 de la manière suivante :

Allow from 2001:db8::a00:20ff:fea7:ccea
Allow from 2001:db8::a00:20ff:fea7:ccea/10

Le troisième format d'argument de la directive Allow permet de contrôler l'accès au serveur en fonction de l'existence d'une variable d'environnement. Lorsque Allow from env=variable d'environnement est spécifié, la requête est autorisée si la variable d'environnement variable d'environnement existe. En revanche, lorsque Allow from env=!env-variable est spécifié, la requête est autorisée si la variable d'environnement variable d'environnement n'existe pas. Le serveur permet de définir avec souplesse des variables d'environnement en se basant sur les caractéristiques de la requête client et en utilisant les directives fournies par le module mod_setenvif. Ainsi, on peut utiliser la directive Allow pour permettre l'accès en fonction de paramètres comme le User-Agent (type de navigateur) des clients, le Referer, ou d'autres champs d'en-tête de la requête HTTP.

SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
<Directory "/docroot">
    Order Deny,Allow
    Deny from all
    Allow from env=let_me_in
</Directory>

Dans cet exemple, les navigateurs dont la chaîne user-agent commence par KnockKnock/2.0 se verront accorder l'accès, alors que tous les autres seront rejetés.

Fusion des sections de configuration

Lorsqu'une directive fournie par ce module est utilisée dans une nouvelle section de configuration, cette dernière n'hérite d'aucune directive définie dans une section précédente.

top

Directive Deny

Description:Définit quels hôtes ne sont pas autorisés à accéder au serveur
Syntaxe: Deny from all|hôte|env=[!]variable d'environnement [hôte|env=[!]variable d'environnement] ...
Contexte:répertoire, .htaccess