10.png
28 août 2021

Protégez votre site par un mot de passe avec .htaccess

Il est parfois nécessaire de verrouiller l'accès à certaines pages de notre site ou à un site complet. Pour cela, rien de plus simple que d'ajouter un fichier .htaccess.

Il faudra donc créer deux fichiers à la racine de votre site ou du dossier à protéger.

  • .htaccess : Ce fichier contiendra l'adresse du .htpasswd
  • .htpasswd : Ce fichier contiendra la liste de logins/mots de passe des utilisateurs autorisés à accéder à votre site ou votre page

1. Créer le fichier .htaccess

Créez un fichier  .htaccess à la racine du site ou du dossier que vous souhaitez protéger. Ajouter le contenu suivant.

AuthName "Page d'administration protégée"
AuthType Basic
AuthUserFile "/home/site/www/admin/.htpasswd"
Require valid-user

Parmi ces quatre lignes, il y en a deux à modifier :

  • **AuthName** : Correspond à la phrase qui sera affichée pour inviter l'utilisateur à se connecter.
  • **AuthUserFile** : C'est le chemin absolu vers le fichier .htpasswd (que vous mettrez dans le même répertoire que le .htaccess).

💡 Trouver le chemin relatif

  1. Créez un fichier appelé chemin.php
  2. Inscrivez cette ligne de code à l'intérieur du fichier :

<?php echo realpath('chemin.php'); ?>

  1. Envoyez ce fichier sur votre serveur avec votre logiciel FTP, et placez-le dans le dossier que vous voulez protéger.
  2. Ouvrez votre navigateur et allez voir ce fichier PHP. Il vous donne le chemin absolu.

Par exemple, dans ce cas : /home/site/www/admin/chemin.php

  1. Copiez ce chemin dans votre .htaccess, et remplacez le chemin.php par .htpasswd.

Par exemple : /home/site/www/admin/.htpasswd

  1. Une fois le chemin relatif trouvé, supprimez le fichier chemin.php de votre serveur.

2. Créer le fichier .htpasswd

Créez maintenant le fichier  .htpasswd . Il va contenir la liste des personnes autorisées à accéder aux pages du dossier.

On y inscrit une personne par ligne, sous cette forme :

login:mot_de_passe_crypté

Au final, votre fichier .htpasswd devrait ressembler à ceci :

toto:$1$/lgP8dYa$sQNXcCP47KhP1sneRIZoO0
patoune:$1$lT7nqnsg$cVtoPfe0IgrjES7Ushmoy.
paul:$1$h4oVHp3O$X7Ejpn.uuOhJRkT3qnw3i0

Résultat