Comment protéger l'accès à un répertoire par une authentification ?
Introduction
Vous pouvez réaliser ceci grâce à un fichier .htaccess. Avant de procéder, il est nécessaire de préciser quelques petites choses par rapport aux fichiers .htaccess. Tout d'abord, il faut savoir qu'il s'agit de fichiers particuliers pour le serveur web, et que ces fichiers n'apparaissent pas dans l'arborescence du répertoire concerné si un internaute fait un accès à un répertoire listable (qui ne contient pas de page index, et dont le listage n'est pas interdit). Ensuite, il faut bien prendre en compte que les paramétrages indiqués par un fichier .htaccess s'appliquent au répertoire où le fichier est installé, ainsi qu'à tout ses sous-répertoires.
Procédure à suivre
- CRÉER LE FICHIER DE MOT DE PASSE
Dans un premier temps, il faut créer le fichier qui contiendra la liste des utilisateurs ayant le droit de se connecter et le mot de passe qui leur est associé. En général, on crée pour cela un fichier .htpasswd qui sera ensuite utilisé par le fichier .htaccess. Il s'agit d'un fichier texte simple, à l'intérieur duquel sont indiqués les noms des utilisateurs et leurs mots de passe sous forme cryptée. Vous trouverez sur notre site une page vous permettant de crypter un mot de passe :
http://www.ovh.com/fr/espaceclients/outils/crypt_password.pl
Note :
Sous windows, vous ne pouvez pas créer directement un fichier nommé .htaccess ou .htpasswd. Il vous suffit alors de le nommer autrement, de le transférer sur votre espace web, et de le renommer en .htaccess ou .htpasswd ensuite à l'aide de votre client FTP.
Après avoir rempli les deux premiers champs (la clé est composée de deux caractères de votre choix) et cliqué sur "crypter", vous récupérerez la forme cryptée du mot de passe dans le champ "Le mot crypté". Il faudra copier le texte correspondant dans le fichier .htpasswd (voir ci-dessous). Le fichier .htpasswd ne doit pas forcément être au même endroit que le fichier .htaccess. Vous pouvez par exemple le placer à la racine de votre hébergement, et l'utiliser pour protéger différents répertoires de votre site, étant donné qu'un seul fichier .htpasswd peut être utilisé par plusieurs fichiers .htaccess. Le fichier .htpasswd doit contenir une ligne par utilisateur précisant le nom d'utilisateur et le mot de passe associé. Ces lignes sont de la forme suivante :
utilisateur:mot_de_passe_crypté
Une fois le fichier .htpasswd créé, il ne vous reste plus qu'à le placer sur votre hébergement et à passer à l'étape suivante : la création des fichiers .htaccess.
Note :
Pensez à mettre un retour chariot a la suite du mot de passe crypté.
- CRÉER LE FICHIER .htaccess
Pour bloquer l'accès à un répertoire complet, créez un fichier texte .htaccess qui sera de la forme suivante, et placez-le dans le répertoire à protéger :
AuthUserFile /home/votre_login_ftp/www/'chemin d'accès au fichier .htpasswd'/.htpasswd
AuthGroupFile /dev/null
AuthName "Accès Restreint"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
Note :
Pour les offres Start et 1000GP le chemin à mettre dans la ligne authuserfile est différent.
Il vous a été communiqué dans le mail d'activation. Dans le cas contraire ou si vous avez égaré ce mail, vous pouvez faire appel à un script PHP ou au support d'OVH pour le connaître.
<?php
echo realpath("path.php");
?>
Pour bloquer l'accés à un ou plusieurs fichiers précis, il suffit d'ajouter les balises
(une balise FILES par fichier):
<Files test.php>
AuthUserFile /home/votre_login_ftp/www/'chemin d'accès au fichier .htpasswd'/.htpasswd
AuthGroupFile /dev/null
AuthName "Accès Restreint"
AuthType basic
<Limit GET POST>
require valid-user
</Limit>
</Files>