1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>mod_authn_dbd - Serveur Apache HTTP Version 2.5</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <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" />
12 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
17 <div id="page-header">
18 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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>
19 <p class="apache">Serveur Apache HTTP Version 2.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
23 <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.5</a> > <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Module Apache mod_authn_dbd</h1>
27 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
28 <a href="../fr/mod/mod_authn_dbd.html" title="Français"> fr </a></p>
30 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur à l'aide d'une base de données
32 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
33 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_dbd_module</td></tr>
34 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_dbd.c</td></tr></table>
37 <p>Ce module permet aux frontaux d'authentification comme
38 <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>
39 d'authentifier les utilisateurs en les recherchant dans une base de
40 données SQL. <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, par exemple, fournit
41 une fonctionnalité similaire.</p>
42 <p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour spécifier le
43 pilote de la base de données sous-jacente et les paramètres de
44 connexion, mais aussi pour gérer les connexions à la base de
47 <p>Si l'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
48 <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, on peut invoquer ce module en
49 affectant la valeur <code>dbd</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
51 <div id="quickview"><h3>Sujets</h3>
53 <li><img alt="" src="../images/down.gif" /> <a href="#socache">Performances et mise en cache</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de configuration</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#exposed">Mise à disposition des informations de connexion</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#security">Prévention contre les injections SQL</a></li>
57 </ul><h3 class="directives">Directives</h3>
59 <li><img alt="" src="../images/down.gif" /> <a href="#authdbduserpwquery">AuthDBDUserPWQuery</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li>
64 <li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
65 <li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
67 <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
70 <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>
72 <li><code class="directive"><a href="../mod/mod_dbd.html#dbdriver">DBDriver</a></code></li>
73 <li><code class="directive"><a href="../mod/mod_dbd.html#dbdparams">DBDParams</a></code></li>
74 <li><a href="../misc/password_encryptions.html">Formats de mots de
76 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
77 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
79 <h2><a name="socache" id="socache">Performances et mise en cache</a></h2>
81 <p>Certains utilisateurs de l'authentification DBD sous HTTPD 2.2/2.4 ont
82 signalé une charge problématique au niveau de la base de données. Cela
83 se produit en général lorsqu'une page HTML contient des centaines d'objets
84 (comme des images, des scripts, etc...), chacun d'entre eux nécessitant
85 une authentification. Les utilisateurs qui rencontrent ce genre de
86 problème peuvent utiliser le module <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>
87 qui permet de mettre les données d'authentification en cache, et
88 soulager ainsi la base de données de la plus grande partie de la charge.</p>
89 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
91 <h2><a name="example" id="example">Exemple de configuration</a></h2>
93 <p>Voici un exemple simple d'utilisation de ce module dans un contexte
94 d'authentification et de bases de données.</p>
95 <pre class="prettyprint lang-config"># configuration de mod_dbd modifiée pour inclure la mise en cache de
98 DBDParams "dbname=apacheauth user=apache password=xxxxxx"
105 <Directory /usr/www/mon-serveur/private>
106 # configuration de mod_authn_core et mod_auth_basic
109 AuthName "Mon serveur"
111 # Pour mettre en cache les données d'authentification, placez socache
113 AuthBasicProvider socache dbd
115 # Aussi nécessaire à la mise en cache : dire au cache de mettre en
116 # cache les recherches dbd !
117 AuthnCacheProvideFor dbd
118 AuthnCacheContext mon-serveur
120 # configuration de mod_authz_core
123 # la requête SQL de mod_authn_dbd pour authentifier un utilisateur
124 AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
125 </Directory></pre>
127 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
128 <div class="section">
129 <h2><a name="exposed" id="exposed">Mise à disposition des informations de connexion</a></h2>
132 Si httpd a été compilé avec la version 1.3.0 ou supérieure de
133 l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, pour chaque requête envoyée au serveur de
134 base de données, toutes les valeurs de colonnes du premier
135 enregistrement renvoyé par la requête sont affectées à des variables
136 d'environnement avec le préfixe "AUTHENTICATE_".
138 <p>Par exemple, si une requête renvoie un nom d'utilisateur, un nom
139 complet et un numéro de téléphone, un programme CGI pourra accéder à ces
140 informations sans avoir besoin d'effectuer une deuxième requête vers la
142 <p>Ceci va entraîner une simplification considérable du code et de la
143 configuration nécessaire de certaines applications web.
145 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
146 <div class="section">
147 <h2><a name="security" id="security">Prévention contre les injections SQL</a></h2>
149 <p>Selon le driver DBD et le serveur d'arrière-plan que vous utilisez,
150 vous devrez prendre garde à la sécurité dans le domaine SQL.
151 Avec la plupart des drivers, vous n'avez rien à faire : la
152 requête est préparée par la base de données au démarrage, et l'entrée
153 utilisateur n'est utilisée qu'en tant que donnée. Mais vous aurez
154 peut-être à nettoyer cette entrée. Au moment où ces lignes sont
155 écrites, le seul driver qui peut nécessiter le nettoyage de l'entrée
157 <p>Veuillez vous référez à la documentation de
158 <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour plus d'informations à propos de la
159 sécurité dans ce domaine.</p>
161 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
162 <div class="directive-section"><h2><a name="authdbduserpwquery" id="authdbduserpwquery">Directive</a> <a name="AuthDBDUserPWQuery" id="AuthDBDUserPWQuery">AuthDBDUserPWQuery</a></h2>
163 <table class="directive">
164 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier le mot de passe d'un
165 utilisateur</td></tr>
166 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserPWQuery <var>requête</var></code></td></tr>
167 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
168 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
169 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
171 <p>La directive <code class="directive">AuthDBDUserPWQuery</code> permet de
172 spécifier une requête servant à vérifier le mot de passe d'un
173 utilisateur donné. L'identifiant utilisateur sera transmis comme
174 paramètre sous forme d'une seule chaîne de caractères lorsque la
175 requête sera exécutée. Cet identifiant est référencé dans la requête
176 en utilisant le spécificateur de format <code>%s</code>.</p>
177 <pre class="prettyprint lang-config">AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"</pre>
179 <p>La première colonne du premier enregistrement renvoyé par la
180 requête se présentera sous la forme d'une chaîne de caractères
181 contenant le mot de passe chiffré. Les enregistrements suivants sont
182 ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur ne
183 sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
184 <p>Si httpd a été compilé avec la version 1.3.0 ou supérieure de
185 l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, toute valeur de colonne supplémentaire
186 du premier enregistrement renvoyé par la requête sera stockée dans
187 une variable d'environnement dont le nom aura la forme
188 <code>AUTHENTICATE_<var>valeur-colonne</var></code>.
190 <p>Le format du mot de passe chiffré dépend du frontal
191 d'authentification utilisé (par exemple
192 <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
193 <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de passe</a> pour
197 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
198 <div class="directive-section"><h2><a name="authdbduserrealmquery" id="authdbduserrealmquery">Directive</a> <a name="AuthDBDUserRealmQuery" id="AuthDBDUserRealmQuery">AuthDBDUserRealmQuery</a></h2>
199 <table class="directive">
200 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier une empreinte de mot de
201 passe pour un utilisateur et un identifiant d'authentification.
203 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserRealmQuery <var>requête</var></code></td></tr>
204 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
205 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
206 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
208 <p>La directive <code class="directive">AuthDBDUserRealmQuery</code> spécifie
209 une requête SQL servant à vérifier une empreinte de mot
210 de passe pour un utilisateur et un identifiant d'authentification
211 donnés au cours d'un processus d'authentification digest. Les
212 identifiants de l'utilisateur et de l'authentification
213 sont passés dans cet ordre comme paramètres à l'exécution de la
214 requête. Ils sont référencés dans la chaîne de la requête en
215 utilisant des spécificateurs de format <code>%s</code>.</p>
216 <pre class="prettyprint lang-config">AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"</pre>
218 <p>La première colonne du premier enregistrement renvoyé par la
219 requête se présentera sous la forme d'une chaîne de caractères
220 contenant le mot de passe chiffré. Les enregistrements suivants
221 seront ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur
222 ne sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
223 <p>Si httpd a été compilé avec une version 1.3.0 ou supérieure de
224 l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, toute valeur de colonne supplémentaire
225 du premier enregistrement renvoyé par la requête sera stockée dans
226 une variable d'environnement avec un nom de la forme
227 <code>AUTHENTICATE_<var>COLONNE</var></code>.
229 <p>Le format du mot de passe chiffré dépend du frontal
230 d'authentification utilisé (par exemple
231 <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
232 <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de passe</a> pour
237 <div class="bottomlang">
238 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
239 <a href="../fr/mod/mod_authn_dbd.html" title="Français"> fr </a></p>
240 </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>
241 <script type="text/javascript"><!--//--><![CDATA[//><!--
242 var comments_shortname = 'httpd';
243 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_authn_dbd.html';
245 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
246 d.write('<div id="comments_thread"><\/div>');
247 var s = d.createElement('script');
248 s.type = 'text/javascript';
250 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
251 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
254 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
256 })(window, document);
257 //--><!]]></script></div><div id="footer">
258 <p class="apache">Copyright 2015 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
259 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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[//><!--
260 if (typeof(prettyPrint) !== 'undefined') {