Comment protéger une page par mot de passe avec un fichier htaccess et htpasswd ?

Réponses rédigées par Antoine
Dernière mise à jour : 2020-11-20 03:21:00
Question

Je cherche à protéger par mot de passe seulement certaines pages de mon site Web, via un fichier .htaccess et .htpasswd comme vous expliquez sur cette autre question, merci.

Réponse

Vous pouvez utiliser la directive Apache FilesMatch pour protéger une page par mot de passe.

Référez vous tout d'abord à cette autre question pour générer un fichier .htpasswd.

Voici ensuite le contenu du fichier .htaccess. Vous devez adapter son contenu pour y spécifier les chemins d'accès vers les pages web à protéger, ainsi que le chemin vers le fichier .htpasswd.

<FilesMatch "test.php">
AuthName "Page protégée"
AuthType Basic
AuthUserFile /chemin_acces_vers/.htpasswd
require valid-user
</FilesMatch>

Remarque : dans l'exemple ci-dessus on protège la page test.php, page qui se situe à la racine du serveur.

Remarque : vous devez remplacer chemin_acces_vers par le chemin d'accès absolue de votre serveur. Pour identifier ce chemin référez vous à cette question.

Le fichier .htpasswd est à placer à la racine de votre serveur. Le fichier.htaccess est à la placer à la racine de votre serveur si la ou les pages à protéger sont également à la racine de votre serveur (www.monsite.com/page.php), ou dans le ou les répertoires où se situent les pages à protéger par mot de passe (www.monsite.com/dossier/page.php).

Utilisez un logiciel FTP tel que Filezilla pour envoyer les fichiers sur votre serveur ; vous pouvez également utiliser Windows pour vous connecter en FTP.

Remarque : Pour des raisons de sécurité vous devez protéger le fichier .htaccess.