|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
|
|
Packit |
90a5c9 |
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
Packit |
90a5c9 |
This file is generated from xml source: DO NOT EDIT
|
|
Packit |
90a5c9 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
Packit |
90a5c9 |
-->
|
|
Packit |
90a5c9 |
<title>Contrôle d'accès - Serveur HTTP Apache Version 2.4</title>
|
|
Packit |
90a5c9 |
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
|
|
Packit |
90a5c9 |
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
|
|
Packit |
90a5c9 |
<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" />
|
|
Packit |
90a5c9 |
<script src="../style/scripts/prettify.min.js" type="text/javascript">
|
|
Packit |
90a5c9 |
</script>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
|
|
Packit |
90a5c9 |
<body id="manual-page">
|
|
Packit |
90a5c9 |
Modules | Directives | FAQ | Glossaire | Plan du site
|
|
Packit |
90a5c9 |
Serveur HTTP Apache Version 2.4
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Apache > Serveur HTTP > Documentation > Version 2.4 > How-To / Tutoriels
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Langues Disponibles: en |
|
|
Packit |
90a5c9 |
es |
|
|
Packit |
90a5c9 |
fr
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Le contrôle d'accès fait référence à tout concept de contrôle
|
|
Packit |
90a5c9 |
d'accès à une ressource quelconque. Il est distinct du processus d'authentification et d'autorisation.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Contrôle d'accès en fonction de l'hôte du
|
|
Packit |
90a5c9 |
client
|
|
Packit |
90a5c9 |
Contrôle d'accès en fonction de variables
|
|
Packit |
90a5c9 |
arbitraires
|
|
Packit |
90a5c9 |
Utilisation de mod_rewrite pour le contrôle
|
|
Packit |
90a5c9 |
d'accès
|
|
Packit |
90a5c9 |
Informations complémentaires
|
|
Packit |
90a5c9 |
Voir aussi
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Plusieurs modules peuvent intervenir dans le contrôle d'accès.
|
|
Packit |
90a5c9 |
Les plus importants sont mod_authz_core et
|
|
Packit |
90a5c9 |
mod_authz_host . Ce document illustre aussi comment
|
|
Packit |
90a5c9 |
utiliser mod_rewrite pour le contrôle
|
|
Packit |
90a5c9 |
d'accès.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
client
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Si vous souhaitez restreindre l'accès à certaines parties de votre
|
|
Packit |
90a5c9 |
site web en fonction de l'addresse de l'hôte de vos visiteurs, le
|
|
Packit |
90a5c9 |
plus simple pour y parvenir consiste à utiliser le module
|
|
Packit |
90a5c9 |
mod_authz_host .
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
La directive Require permet d'accorder ou
|
|
Packit |
90a5c9 |
d'interdire l'accès à certaines ressources de différentes manières.
|
|
Packit |
90a5c9 |
Ces critères d'accès, en conjonction avec les directives RequireAll , RequireAny , et RequireNone , peuvent être
|
|
Packit |
90a5c9 |
combinés d'une manière suffisamment complexe pour
|
|
Packit |
90a5c9 |
satisfaire votre politique de contrôle d'accès.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Les directives Allow , Deny , et Order fournies par le module
|
|
Packit |
90a5c9 |
mod_access_compat sont obsolètes, et sont appelées à
|
|
Packit |
90a5c9 |
disparaître dans les versions futures. Il est donc déconseillé de
|
|
Packit |
90a5c9 |
les utiliser, et de se fier aux tutoriels qui recommandent leur
|
|
Packit |
90a5c9 |
utilisation.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Les directives Require s'utilisent comme suit :
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Require host address
|
|
Packit |
90a5c9 |
Require ip ip.address
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Dans la première forme, nom-hôte est un nom de domaine
|
|
Packit |
90a5c9 |
pleinement qualifié (fqdn), ou un nom de domaine partiel ; vous
|
|
Packit |
90a5c9 |
pouvez spécifier plusieurs noms de domaines, si vous le désirez.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Dans la seconde forme, adresse-ip est une adresse IP
|
|
Packit |
90a5c9 |
complète, une adresse IP partielle, une paire réseau/masque de
|
|
Packit |
90a5c9 |
sous-réseau ou une spécification CIDR de la forme réseau/nnn. Il est
|
|
Packit |
90a5c9 |
possible de spécifier des adresses IPv4 ou IPv6.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Voir la
|
|
Packit |
90a5c9 |
documentation de mod_authz_host pour d'autres exemples de cette
|
|
Packit |
90a5c9 |
syntaxe.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Vous pouvez insérer le mot-clé not pour inverser un
|
|
Packit |
90a5c9 |
critère particulier. Notez que le mot not étant la
|
|
Packit |
90a5c9 |
négation d'une valeur, il ne peut pas être utilisé pour autoriser
|
|
Packit |
90a5c9 |
ou interdire une requête, car non vrai ne
|
|
Packit |
90a5c9 |
sera pas interpreté par httpd comme faux. Ainsi, pour interdire la
|
|
Packit |
90a5c9 |
visite d'une page à l'aide d'une négation, le bloc doit contenir un
|
|
Packit |
90a5c9 |
élément évalué à vrai ou faux.
|
|
Packit |
90a5c9 |
Par exemple, si quelqu'un est en train d'inonder
|
|
Packit |
90a5c9 |
votre forum de messages indésirables, vous pouvez ajouter cette ligne pour lui refuser
|
|
Packit |
90a5c9 |
l'accès :
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<RequireAll>
|
|
Packit |
90a5c9 |
Require all granted
|
|
Packit |
90a5c9 |
Require not ip 10.252.46.165
|
|
Packit |
90a5c9 |
</RequireAll>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Les visiteurs possédant cette adresse (10.252.46.165 ) ne pourront pas voir le
|
|
Packit |
90a5c9 |
contenu concerné par cette directive. Si vous voulez interdire
|
|
Packit |
90a5c9 |
l'accès à une machine en fonction de son nom, vous pouvez ajouter
|
|
Packit |
90a5c9 |
ceci :
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Require not host host.example.com
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Et si vous voulez interdire l'accès à un domaine particulier,
|
|
Packit |
90a5c9 |
vous pouvez spécifier des adresses IP partielles ou des noms de
|
|
Packit |
90a5c9 |
domaine, comme ceci :
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Require not ip 192.168.205
|
|
Packit |
90a5c9 |
Require not host phishers.example.com moreidiots.example
|
|
Packit |
90a5c9 |
Require not host gov
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Les directives RequireAll , RequireAny , et RequireNone permettent également de préciser des
|
|
Packit |
90a5c9 |
critères d'accès plus complexes.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
arbitraires
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Vous pouvez accorder ou refuser l'accès en fonction de variables
|
|
Packit |
90a5c9 |
d'environnement arbitraires ou de valeurs d'en-têtes de la requête
|
|
Packit |
90a5c9 |
en utilisant la directive <If> . Par exemple, pour interdire l'accès en
|
|
Packit |
90a5c9 |
fonction du user-agent (le type de navigateur), vous pouvez
|
|
Packit |
90a5c9 |
spécifier ceci :
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<If "%{HTTP_USER_AGENT} == 'BadBot'">
|
|
Packit |
90a5c9 |
Require all denied
|
|
Packit |
90a5c9 |
</If>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
La syntaxe expr de la directive Require permet de réécrire
|
|
Packit |
90a5c9 |
l'exemple précédent de la manière suivante :
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Require expr %{HTTP_USER_AGENT} != 'BadBot'
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Avertissement :
|
|
Packit |
90a5c9 |
Contrôler l'accès en fonction de l'en-tête
|
|
Packit |
90a5c9 |
User-Agent n'est pas une technique fiable, car cet
|
|
Packit |
90a5c9 |
en-tête peut être défini à une valeur quelconque, selon le bon
|
|
Packit |
90a5c9 |
vouloir de l'utilisateur.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Voir le document à propos des expressions pour une description plus
|
|
Packit |
90a5c9 |
approfondie des syntaxes d'expressions et des variables disponibles.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
d'accès
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Le drapeau [F] de la directive RewriteRule permet d'envoyer une
|
|
Packit |
90a5c9 |
réponse de type 403 Forbidden. Il vous permet donc d'interdire
|
|
Packit |
90a5c9 |
l'accès à une ressource en fonction d'un critère arbitraire.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Par exemple, pour bloquer l'accès à une ressources entre 20h et
|
|
Packit |
90a5c9 |
7h du matin, vous pouvez utiliser mod_rewrite :
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
RewriteEngine On
|
|
Packit |
90a5c9 |
RewriteCond "%{TIME_HOUR}" ">=20" [OR]
|
|
Packit |
90a5c9 |
RewriteCond "%{TIME_HOUR}" "<07"
|
|
Packit |
90a5c9 |
RewriteRule "^/fridge" "-" [F]
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Toute requête arrivant après 20h ou avant 7h du matin provoquera
|
|
Packit |
90a5c9 |
l'envoi d'une réponse de type 403 Forbidden. Vous pouvez utiliser
|
|
Packit |
90a5c9 |
cette technique pour vérifier toutes sortes de critères. En outre,
|
|
Packit |
90a5c9 |
si vous le préférez, vous pouvez rediriger ou réécrire la requête.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Notez que la directive <If> , introduite à partir de la version 2.4,
|
|
Packit |
90a5c9 |
permet de remplacer le module mod_rewrite dans de
|
|
Packit |
90a5c9 |
nombreuses situations où il était traditionnellement utilisé, et
|
|
Packit |
90a5c9 |
il sera probablement préférable pour vous de tenter de l'utiliser
|
|
Packit |
90a5c9 |
avant de vous tourner vers mod_rewrite.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Le moteur d'expressions vous fournit
|
|
Packit |
90a5c9 |
une grande puissance d'action en fonction de variables du serveur
|
|
Packit |
90a5c9 |
arbitraires, et il vous est conseillé de consulter le document
|
|
Packit |
90a5c9 |
correspondant pour plus de détails.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
De même, vous devez lire la documentation du module
|
|
Packit |
90a5c9 |
mod_authz_core pour des exemples de combinaison de
|
|
Packit |
90a5c9 |
critères d'accès multiples, et en particulier la manière dont ces
|
|
Packit |
90a5c9 |
derniers interagissent.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Voir aussi le How-To Authentification and
|
|
Packit |
90a5c9 |
autorisation.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Langues Disponibles: en |
|
|
Packit |
90a5c9 |
es |
|
|
Packit |
90a5c9 |
fr
|
|
Packit |
90a5c9 |
Notice: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 mailing lists.
|
|
Packit |
90a5c9 |
<script type="text/javascript">
|
|
Packit |
90a5c9 |
var comments_shortname = 'httpd';
|
|
Packit |
90a5c9 |
var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/access.html';
|
|
Packit |
90a5c9 |
(function(w, d) {
|
|
Packit |
90a5c9 |
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
|
|
Packit |
90a5c9 |
d.write('
|
|
Packit |
90a5c9 |
var s = d.createElement('script');
|
|
Packit |
90a5c9 |
s.type = 'text/javascript';
|
|
Packit |
90a5c9 |
s.async = true;
|
|
Packit |
90a5c9 |
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
|
|
Packit |
90a5c9 |
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
else {
|
|
Packit |
90a5c9 |
d.write('
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
})(window, document);
|
|
Packit |
90a5c9 |
//--></script>
|
|
Packit |
90a5c9 |
Copyright 2018 The Apache Software Foundation. Autorisé sous Apache License, Version 2.0.
|
|
Packit |
90a5c9 |
Modules | Directives | FAQ | Glossaire | Plan du site <script type="text/javascript">
|
|
Packit |
90a5c9 |
if (typeof(prettyPrint) !== 'undefined') {
|
|
Packit |
90a5c9 |
prettyPrint();
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
//--></script>
|
|
Packit |
90a5c9 |
</body></html>
|