Protéger un répertoire avec un fichier htaccess

Le fichier htaccess est un fichier de configuration pour Apache aux mille et une facettes. D’abord, précisons qu’il s’agit d’un « fichier caché », donc vous devez d’abord vérifier que votre explorateur de fichier les affichent (par défaut il est courant que ce ne soit pas le cas, auquel cas vous pouvez suivre cette procédure : Comment afficher les fichiers cachés sur MAC et PC ?).

Comme tout fichier caché, votre fichier htaccess doit commencer par un point, il se nommera donc .htaccess

Créer le mot de passe

Vous devez d’abord enregistrer les combinaisons de login et mot de passe autorisées à accéder à notre répertoire. Le mot de passe ne doit pas être écrit en clair dans le fichier, mais crypté au préalable :
  1. Crypter votre mot de passe en utilisant (par exemple) cet outil proposé par OVH :  http://www.ovh.com/fr/support/outils/crypt_password.pl
  2. Créez un nouveau document et nommez le .htpasswd dans lequel vous indiquez la liste de vos combinaisons login et mot de passe comme ceci :
    login:mot de passe crypté
    toto: 10MuWxen1visI
  3. Dans cet exemple à ne pas reproduire (!), le login est « toto » et le mot de passe est « toto ». Veillez à mettre un retour chariot a la suite du mot de passe crypté.
  4. Placez votre fichier .htpasswd à la racine de votre serveur.

Créer le fichier .htaccess

  1. Si vous n’avez pas encore de fichier .htaccess, créez le. Sinon, rajoutez les lignes qui suivent en début de fichier :
    AuthUserFile /home/votre_login_ftp/www/.htpasswd
    AuthGroupFile /dev/null
    AuthName "Accès Restreint"
    AuthType Basic
    require valid-user
  2. Remplacer home par le realpath de votre serveur. Si vous ne le connaissez pas, afficher le en exécutant la commande PHP suivante :
    echo realpath("index.php");
  3. Quelques explications :
    1. AuthUserFile vous permet de cibler le fichier qui contient les identifiants de connexion valides
    2. AuthGroupFile définit le nom d’un fichier texte contenant la liste des groupes d’utilisateurs permettant de définir les autorisations des utilisateurs (dans notre exemple, nous ne ciblons aucun groupe en particulier)
    3. AuthName est une chaîne de caractère qui s’affichera dans la boite de dialogue (évitez les caractères spéciaux)
    4. AuthType définit le type d’authentification utilisateur (les types d’authentification disponibles sont None, Basic, Digest et Form.)
    5. require valid-user autorisera l’accès à quiconque possédant une entrée dans le fichier password, et ayant tapé le bon mot de passe.
  4. Placez votre fichier .htaccess dans le répertoire à protéger.

Si cet article "Protéger un répertoire avec un fichier htaccess" vous a aidé, si vous avez des questions ou des améliorations à proposer, n'hésitez pas à me laisser un commentaire en bas de page !
Charlie Stram,
Développeur web freelance

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *