| <?xml version="1.0" encoding="ISO-8859-1"?> |
| <!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=ISO-8859-1" http-equiv="Content-Type" /> |
| <!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <title>mod_access_compat - Serveur Apache HTTP 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> |
| <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 Apache HTTP 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> > <a href="./">Modules</a></div> |
| <div id="page-content"> |
| <div id="preamble"><h1>Module Apache mod_access_compat</h1> |
| <div class="toplang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_access_compat.html" title="Français"> fr </a> | |
| <a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> |
| </div> |
| <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisations de groupe à base de nom d'hôte (nom ou |
| adresse IP)</td></tr> |
| <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>access_compat_module</td></tr> |
| <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_access_compat.c</td></tr> |
| <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>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 |
| <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></td></tr></table> |
| <h3>Sommaire</h3> |
| |
| <p>Les directives fournies par le module |
| <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> s'utilisent dans les sections |
| <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, |
| <code class="directive"><a href="../mod/core.html#files"><Files></a></code> et |
| <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, ainsi |
| que dans les fichiers <code><a href="core.html#accessfilename">.htaccess</a></code> 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 <a href="../env.html">variables |
| d'environnement</a>. Les directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> permettent de spécifier |
| quels clients sont ou ne sont pas autorisés à accéder au serveur, |
| alors que la directive <code class="directive"><a href="#order">Order</a></code> définit le statut |
| d'accès par défaut, et détermine la manière dont les directives |
| <code class="directive"><a href="#allow">Allow</a></code> et |
| <code class="directive"><a href="#deny">Deny</a></code> interagissent |
| entre elles.</p> |
| |
| <p>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 <code class="directive"><a href="#satisfy">Satisfy</a></code> pour déterminer la |
| manière dont ces deux modes de restrictions interagissent.</p> |
| |
| <div class="warning"><h3>Note</h3> |
| <p>Les directives fournies par le module |
| <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> sont devenues obsolètes depuis |
| la refonte du module <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. Mélanger d'anciennes |
| directives comme <code class="directive"><a href="#order">Order</a></code>, <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> avec des nouvelles comme |
| <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> est techniquement |
| possible mais déconseillé. En effet, <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> 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 |
| <a href="../upgrading.html">upgrading</a> pour plus de détails. |
| </p> |
| </div> |
| |
| <p>En général, les directives de restriction d'accès s'appliquent à |
| toutes les méthodes d'accès (<code>GET</code>, <code>PUT</code>, |
| <code>POST</code>, 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 <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>.</p> |
| |
| <div class="note"><h3>Fusion des sections de configuration</h3> |
| <p>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.</p> |
| </div> |
| </div> |
| <div id="quickview"><h3 class="directives">Directives</h3> |
| <ul id="toc"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#allow">Allow</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#deny">Deny</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#order">Order</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li> |
| </ul> |
| <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_access_compat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_access_compat">Signaler un bug</a></li></ul><h3>Voir aussi</h3> |
| <ul class="seealso"> |
| <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> |
| <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_authz_core.html">mod_authz_core</a></code></li> |
| <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="directive-section"><h2><a name="allow" id="allow">Directive</a> <a name="Allow" id="Allow">Allow</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie quels hôtes peuvent accéder à une certaine zone du |
| serveur</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Allow from all|<var>hôte</var>|env=[!]<var>variable |
| d'environnement</var> |
| [<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> |
| <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Limit</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> |
| </table> |
| <p>La directive <code class="directive">Allow</code> 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.</p> |
| |
| <p>Le premier argument de cette directive est toujours |
| <code>from</code>. Les arguments suivants peuvent prendre trois |
| formes différentes. Si <code>Allow from all</code> est spécifié, |
| tout hôte se voit accordé l'accès, en tenant compte des directives |
| <code class="directive"><a href="#deny">Deny</a></code> et <code class="directive"><a href="#order">Order</a></code> 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 <em>nom d'hôte</em> sous |
| une des formes suivantes :</p> |
| |
| <dl> |
| <dt>Un nom de domaine (partiel)</dt> |
| |
| <dd> |
| <pre class="prettyprint lang-config">Allow from example.org |
| Allow from .net example.edu</pre> |
| |
| <p>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, <code>foo.example.org</code> |
| correspondra, mais <code>fooexample.org</code> 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 <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code>. 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.</p></dd> |
| |
| <dt>Une adresse IP complète</dt> |
| |
| <dd> |
| <pre class="prettyprint lang-config">Allow from 10.1.2.3 |
| Allow from 192.168.1.104 192.168.1.205</pre> |
| |
| <p>L'adresse IP d'un hôte auquel on a accordé l'accès</p></dd> |
| |
| <dt>Une adresse IP partielle</dt> |
| |
| <dd> |
| <pre class="prettyprint lang-config">Allow from 10.1 |
| Allow from 10 172.20 192.168.2</pre> |
| |
| <p>De un à trois des premiers octets d'une adresse IP, afin de |
| restreindre l'accès à un sous-réseau.</p></dd> |
| |
| <dt>Une paire réseau/masque de sous-réseau</dt> |
| |
| <dd> |
| <pre class="prettyprint lang-config">Allow from 10.1.0.0/255.255.0.0</pre> |
| |
| <p>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.</p></dd> |
| |
| <dt>Une spécification CIDR réseau/nnn</dt> |
| |
| <dd> |
| <pre class="prettyprint lang-config">Allow from 10.1.0.0/16</pre> |
| |
| <p>Identique au cas précédent, mis à part que le masque est |
| constitué des nnn bits de poids fort.</p></dd> |
| </dl> |
| |
| <p>Notez que les trois derniers exemples désignent le même ensemble |
| d'hôtes.</p> |
| |
| <p>On peut spécifier des adresses et sous-réseaux IPv6 de la manière |
| suivante :</p> |
| |
| <pre class="prettyprint lang-config">Allow from 2001:db8::a00:20ff:fea7:ccea |
| Allow from 2001:db8::a00:20ff:fea7:ccea/10</pre> |
| |
| |
| <p>Le troisième format d'argument de la directive |
| <code class="directive">Allow</code> permet de contrôler l'accès au serveur |
| en fonction de l'existence d'une <a href="../env.html">variable d'environnement</a>. Lorsque <code>Allow |
| from env=<var>variable d'environnement</var></code> est spécifié, la |
| requête est autorisée si la variable d'environnement <var>variable |
| d'environnement</var> existe. En revanche, lorsque <code>Allow from |
| env=!<var>env-variable</var></code> est spécifié, la |
| requête est autorisée si la variable d'environnement <var>variable |
| d'environnement</var> 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 <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Ainsi, on peut |
| utiliser la directive <code class="directive">Allow</code> pour permettre |
| l'accès en fonction de paramètres comme le <code>User-Agent</code> |
| (type de navigateur) des clients, le <code>Referer</code>, ou |
| d'autres champs d'en-tête de la requête HTTP.</p> |
| |
| <pre class="prettyprint lang-config">SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in |
| <Directory "/docroot"> |
| Order Deny,Allow |
| Deny from all |
| Allow from env=let_me_in |
| </Directory></pre> |
| |
| |
| <p>Dans cet exemple, les navigateurs dont la chaîne user-agent |
| commence par <code>KnockKnock/2.0</code> se verront accorder |
| l'accès, alors que tous les autres seront rejetés.</p> |
| |
| <div class="note"><h3>Fusion des sections de configuration</h3> |
| <p>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.</p> |
| </div> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="deny" id="deny">Directive</a> <a name="Deny" id="Deny">Deny</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit quels hôtes ne sont pas autorisés à accéder au |
| serveur</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Deny from all|<var>hôte</var>|env=[!]<var>variable |
| d'environnement</var> |
| [<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> |
| <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Limit</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> |
| </table> |
| <p>Cette directive permet de restreindre l'accès au serveur en |
| fonction du nom d'hôte, de l'adresse IP ou de variables |
| d'environnement. Les arguments de la directive |
| <code class="directive">Deny</code> sont identiques aux arguments de la |
| directive <code class="directive"><a href="#allow">Allow</a></code>.</p> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="order" id="order">Directive</a> <a name="Order" id="Order">Order</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le statut d'accès par défaut et l'ordre dans lequel |
| les directives <code class="directive">Allow</code> et |
| <code class="directive">Deny</code> sont évaluées.</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Order <var>ordre</var></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Order Deny,Allow</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> |
| <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Limit</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> |
| </table> |
| |
| <p>La directive <code class="directive">Order</code>, associée aux |
| directives <code class="directive"><a href="#allow">Allow</a></code> |
| et <code class="directive"><a href="#deny">Deny</a></code>, |
| implémente un système de contrôle d'accès en trois passes. Au cours |
| de la première passe, ce sont soit toutes les directives <code class="directive"><a href="#allow">Allow</a></code>, soit toutes les |
| directives <code class="directive"><a href="#deny">Deny</a></code> qui sont traitées, selon |
| la définition de la directive <code class="directive"><a href="#order">Order</a></code>. Le reste des |
| directives (<code class="directive"><a href="#deny">Deny</a></code> |
| ou <code class="directive"><a href="#allow">Allow</a></code>) est |
| traité au cours de la seconde passe. La troisième passe s'applique à |
| toutes les requêtes qui ne sont concernées par aucune des deux |
| premières passes.</p> |
| |
| <p>Notez que toutes les directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> sont traitées, à la |
| différence d'un pare-feu classique où seule la première règle qui |
| correspond est utilisée. La dernière directive qui correspond |
| s'applique ( à la différence là encore d'un pare-feu classique). De |
| plus, l'ordre dans lequel les lignes apparaissent dans le fichier de |
| configuration n'a pas d'incidence -- toutes les lignes <code class="directive"><a href="#allow">Allow</a></code> sont considérées comme |
| un groupe, toutes les lignes <code class="directive"><a href="#deny">Deny</a></code> comme un autre, et le |
| statut par défaut a son existence propre.</p> |
| |
| <p><em>Ordre</em> peut être :</p> |
| |
| <dl> |
| <dt><code>Allow,Deny</code></dt> |
| |
| <dd>Dans un premier temps, toutes les directives <code class="directive"><a href="#allow">Allow</a></code> sont évaluées ; au |
| moins une d'entre elles doit correspondre, sinon la requête est |
| rejetée. Ensuite, toutes les directives <code class="directive"><a href="#deny">Deny</a></code> sont évaluées. Si au |
| moins l'une d'entre elles correspond, la requête est rejetée. |
| Enfin, toute requête qui ne correspond à aucune directive |
| <code class="directive"><a href="#allow">Allow</a></code> ou |
| <code class="directive"><a href="#deny">Deny</a></code> est rejetée |
| par défaut.</dd> |
| |
| <dt><code>Deny,Allow</code></dt> |
| |
| <dd>Dans un premier temps, toutes les directives <code class="directive"><a href="#deny">Deny</a></code> sont évaluées ; Si au |
| moins une d'entre elles correspond, la requête est rejetée, |
| <strong>à moins</strong> qu'elle corresponde aussi à une directive |
| <code class="directive"><a href="#allow">Allow</a></code>. Toute |
| requête qui ne correspond à aucune directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> est autorisée.</dd> |
| |
| <dt><code>Mutual-failure</code></dt> |
| |
| <dd>Cet argument a le même effet que <code>Allow,Deny</code> et |
| est devenu de ce fait obsolète.</dd> |
| </dl> |
| |
| <p>Les mots-clés ne peuvent être séparés que par des virgules ; |
| <em>aucun espace</em> ne doit s'intercaler entre eux.</p> |
| |
| <table class="bordered"> |
| <tr> |
| <th>Match</th> |
| <th>Résultat Allow,Deny</th> |
| <th>Résultat Deny,Allow</th> |
| </tr><tr> |
| <th>Correspond à Allow seulement</th> |
| <td>Requête autorisée</td> |
| <td>Requête autorisée</td> |
| </tr><tr> |
| <th>Correspond à Deny seulement</th> |
| <td>Requête rejetée</td> |
| <td>Requête rejetée</td> |
| </tr><tr> |
| <th>Aucune correspondance</th> |
| <td>Par défaut la seconde directive : rejet</td> |
| <td>Par défaut la seconde directive : autorisation</td> |
| </tr><tr> |
| <th>Correspond à Allow & Deny</th> |
| <td>La dernière correspondance l'emporte : rejet</td> |
| <td>La dernière correspondance l'emporte : autorisation</td> |
| </tr> |
| </table> |
| |
| <p>Dans cet exemple, tous les hôtes du domaine example.org ont |
| l'autorisation d'accès ; tous les autres voient leur accès |
| refusé.</p> |
| |
| <pre class="prettyprint lang-config">Order Deny,Allow |
| Deny from all |
| Allow from example.org</pre> |
| |
| |
| <p>Dans l'exemple suivant, tous les hôtes du domaine example.org ont |
| l'autorisation d'accès, sauf ceux du sous-domaine foo.example.org qui |
| voient leur accès refusé. Tous les hôtes qui ne sont pas dans le |
| domaine example.org sont rejetés car le statut par défaut est positionné |
| sur <code class="directive"><a href="#deny">Deny</a></code>, et consiste donc en un |
| refus d'accès.</p> |
| |
| <pre class="prettyprint lang-config">Order Allow,Deny |
| Allow from example.org |
| Deny from foo.example.org</pre> |
| |
| |
| <p>Par contre, si la valeur de la directive |
| <code class="directive">Order</code>, dans l'exemple précédent, est |
| <code>Deny,Allow</code>, tout le monde a l'autorisation d'accès. |
| Ceci est dû au fait que <code>Allow from example.org</code> sera |
| évalué en dernier, sans tenir compte de l'ordre réel dans lequel les |
| directives apparaissent dans le fichier de configuration, et va |
| l'emporter sur <code>Deny from foo.example.org</code>. Tout hôte qui |
| n'est pas dans le domaine <code>example.org</code> aura aussi |
| l'autorisation d'accès car le statut par défaut est positionné sur |
| <code class="directive"><a href="#allow">Allow</a></code> et constitue donc une |
| autorisation d'accès.</p> |
| |
| <p>La présence d'une directive <code class="directive">Order</code> peut |
| affecter le contrôle d'accès à une partie du serveur même en |
| l'abscence de directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> associées, à cause de |
| son influence sur le statut par défaut. Par exemple,</p> |
| |
| <pre class="prettyprint lang-config"><Directory "/www"> |
| Order Allow,Deny |
| </Directory></pre> |
| |
| |
| <p>va interdire tout accès au répertoire <code>/www</code> à cause |
| du statut d'accès par défaut qui est défini à <code class="directive"><a href="#deny">Deny</a></code>.</p> |
| |
| <p>La directive <code class="directive">Order</code> ne contrôle l'ordre |
| dans lequel sont traitées les directives d'accès qu'au cours de |
| chaque phase du traitement de la configuration du serveur. Ceci |
| implique, par exemple, qu'une directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> située dans une section |
| <code class="directive"><a href="../mod/core.html#location"><Location></a></code> sera |
| toujours évaluée après une directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> située dans une section |
| <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou un |
| fichier <code>.htaccess</code>, sans tenir compte de la |
| définition de la directive <code class="directive">Order</code>. Pour plus |
| de détails à propos de la fusion des sections de configuration, voir |
| le document <a href="../sections.html">Comment fonctionnent les sections Directory, |
| Location et Files</a>.</p> |
| |
| <div class="note"><h3>Fusion des sections de configuration</h3> |
| <p>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.</p> |
| </div> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="satisfy" id="satisfy">Directive</a> <a name="Satisfy" id="Satisfy">Satisfy</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction entre le contrôle d'accès en fonction de l'hôte |
| et l'authentification utilisateur</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Satisfy Any|All</code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Satisfy All</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> |
| <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Affecté par <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> et <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code> à partir de la version |
| 2.0.51</td></tr> |
| </table> |
| <p>Politique d'accès dans le cas où on utilise à la fois <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>. L'argument est soit |
| <code>All</code>, soit <code>Any</code>. L'utilisation de cette |
| directive n'a de sens que si l'accès à une zone particulière du |
| serveur est restreinte par utilisateur/mot de passe et en fonction |
| de l'adresse IP de l'hôte client. Dans ce cas, par |
| défaut (<code>All</code>), le client doit satisfaire à la |
| restriction d'adresse, <em>et</em> fournir un couple |
| utilisateur/mot de passe valide. Avec l'argument <code>Any</code>, |
| le client se verra accorder l'accès s'il satisfait à la restriction |
| d'adresse ou fournit un couple utilisateur/mot de passe valide. On |
| peut utiliser cette dernière définition pour restreindre l'accès à |
| une zone par mot de passe, mais accorder l'accès aux clients |
| possédant certaines adresses IP sans qu'ils aient à fournir de mot |
| de passe.</p> |
| |
| <p>Par exemple, si vous souhaitez que les utilisateurs de votre |
| réseau accèdent à une zone de votre site web sans restriction, mais |
| que l'accès à cette zone nécessite un mot de passe pour les autres |
| utilisateurs, vous pouvez utiliser une configuration du style :</p> |
| |
| <pre class="prettyprint lang-config">Require valid-user |
| Allow from 192.168.1 |
| Satisfy Any</pre> |
| |
| |
| <p> |
| Une autre utilisation fréquente de la directive |
| <code class="directive">Satisfy</code> est l'allègement des restrictions |
| d'accès à un sous-répertoire par rapport aux restrictions d'accès au |
| répertoire parent : |
| </p> |
| |
| <pre class="prettyprint lang-config"><Directory "/var/www/private"> |
| Require valid-user |
| </Directory> |
| |
| <Directory "/var/www/private/public"> |
| Allow from all |
| Satisfy Any |
| </Directory></pre> |
| |
| |
| <p>Dans l'exemple ci-dessus, l'accès au répertoire |
| <code>/var/www/private</code> nécessitera une authentification, |
| alors que l'accès au répertoire <code>/var/www/private/public</code> |
| sera accordé sans restriction.</p> |
| |
| |
| <p>Depuis la version 2.0.51, les directives |
| <code class="directive">Satisfy</code> peuvent être restreintes à certaines |
| méthodes particulières à l'aide des sections <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> et <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code>.</p> |
| |
| <div class="note"><h3>Fusion des sections de configuration</h3> |
| <p>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.</p> |
| </div> |
| |
| <h3>Voir aussi</h3> |
| <ul> |
| <li><code class="directive"><a href="#allow">Allow</a></code></li> |
| <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> |
| </ul> |
| </div> |
| </div> |
| <div class="bottomlang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_access_compat.html" title="Français"> fr </a> | |
| <a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese"> ja </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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> |
| <script type="text/javascript"><!--//--><![CDATA[//><!-- |
| var comments_shortname = 'httpd'; |
| var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_access_compat.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 2016 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> |