Configuration du serveur Apache pour gérer la méthode PUT:
-
dans le fichier de configuration des accès (
access.conf
), la directive<Directory>
, déclarant un répertoire géré par le serveur, peut contenir (les parties en italique sont à définir par le "Webmaster"):AuthUserFile CheminDAccesCompletDuFichierDesLesNomsEtMotsDePasse
AuthGroupFile CheminDAccesCompletDuFichierDesListesDeGroupes
AuthName IdentificateurQuiApparaîtraSurLePanneauDeDemandeDeMotDePasse
AuthType Basic
<Limit PUT>
require group UnNomDeGroupe
</Limit>Ces lignes auront pour effet que seules les personnes faisant partie du groupe indiqué auront le droit d'utiliser la méthode PUT dans le répertoire en question. Alternativement, les lignes Auth... et la directive <Limit> peuvent être mises dans un fichier .htaccess.
-
dans le fichier de configuration de l'espace des noms (srm.conf), la directive
Script PUT /cgi-bin/put
fera que le script /cgi-bin/put s'activera chaque fois que la méthode PUT sera utilisée par un client (pour autant que l'utilisateur de ce client ait fourni le bon mot de passe.
-
dans les versions 1.2 et plus récentes du serveur Apache, il faut
aussi que l'utilisateur désirant faire usage de la méthode
PUT ait les privilèges d'accès à la méthode PUT
sur le script correspondant. Cela peut se faire de la manière suivante:
<Directory CheminDAccesCompletDuRépertoireCgi-bin>
AllowOverride None
Options None
<Files put>
AuthUserFile CheminDAccesCompletDuFichierDesLesNomsEtMotsDePasse
AuthGroupFile CheminDAccesCompletDuFichierDesListesDeGroupes
AuthName IdentificateurQuiApparaîtraSurLePanneauDeDemandeDeMotDePasse
AuthType Basic
<Limit PUT>
require valid-user
</Limit>
</Files>
</Directory> -
le script /cgi-bin/put doit effectuer un certain nombre
de contrôles afin d'éviter que ce mécanisme soit
utilisé de manière abusive:
- vérifier que c'est la méthode PUT qui est utilisée
- vérifier que l'URL correspond bien à un document et non pas à un répertoire
- que le répertoire concerné contient bien des documents et non pas des scripts CGI, par exemple.
-
reste encore, au niveau du système d'exploitation, à vérifier
que l'utilisateur, au nom duquel le processus serveur HTTP s'exécute,
a bien le droit d'écrire dans les répertoires mentionnés
dans les directives
<Directory>
, mais pas ailleurs.
- Publishing Pages with PUT (documentation du serveur Apache)
- Configuring your WWW server to understand the PUT method (W3C, documentation d'Amaya)