Protéger l'accès à une page web par mot de passe sur l'hébergeur free.fr
Le but de ce document est d’expliquer la méthode pour protéger
l'accès à une page web par mot de passe sur l'hébergeur free.fr
(qui est légèrement différente que celle classique).
Le point en début est important pour être compris par Apache,
ces fichiers n’ont pas de nom, mais simplement une extension.
I. Création d’un fichier .htpasswd
Le fichier .htpasswd doit contenir la ligne suivante pour un
pseudo utilisateur :
pseudo:motdepasse
Si vous voulez autoriser l'entrée à plusieurs pseudos, vous pouvez
répéter cette ligne en changeant mot de passe et pseudo en allant à
la ligne.
pseudo:motdepasse
administrateur:admin
moderateur:modo
Remarque 1
Ce fichier ne doit contenir ni espaces ni tabulations. De plus, il
doit absolument être enregistré en format ASCII, c.a.d. que chaque
ligne doit se terminer par les caractères invisibles CR et LF
(respectivement RetourChariot et LigneSuivante en français). Pour
s’en assurer il est recommandé d’utiliser l’éditeur Notepad++ avec
l’option Affichage-Symboles spéciaux-Afficher les symboles de fin de
ligne
Sur un serveur
"classique", les mots de passe sont cryptés et enregistrés de cette
manière dans le .htpasswd.
Chez Free vous ne devez pas crypter les mots de passe.
En effet l'hébergeur a désactivé cette fonction. Il suffit donc de
mettre les mots de passe en clair dans le fichier les contenant. Il
va donc falloir sécuriser davantage le répertoire contenant le
fichier avec les mots de passe.
II. Création du dossier \password qui contiendra le fichier
.htpasswd:
Dans notre exemple le ficher .htpasswd sera positionné dans
le dossier \admin\password
Pour des raisons de sécurité nous allons faire en sorte que ce dossier \password ne soit accessible à personne, y compris vous (sauf en local).
Nous allons alors créer un fichier .htaccess dans
le répertoire \password qui permettra de refuser son accès à tout
visiteur.
Le fichier .htaccess doit contenir la ligne suivante :
deny from all
Voir remarque 1
Le dossier \admin\password contiendra donc, au minimum les deux
fichiers .htpasswd et .htaccess
III. Protection de la page perso.html
Le but est de protéger la page perso.html par un mot de passe.
Il
faut maintenant créer un nouveau fichier .htaccess
Le fichier .htaccess doit contenir les lignes suivantes :
<Files perso.html>
PerlSetVar AuthFile
admin/password/.htpasswd
AuthName "Acces Restreint"
AuthType Basic
require valid-user
</Files>
ErrorDocument 401 /index.html
Voir remarque 1
La valeur admin/password/.htpasswd représente le
chemin du fichier contenant la liste des mots de passe.
"Acces Restreint":
Vous pouvez modifier le texte que portera la fenêtre qui s'ouvrira
pour rentrer le pseudo et le mot de passe, pour informer
l'utilisateur de l'accessibilité du dossier. Attention tout de même
de ne pas enlever les guillemets, faute de quoi la protection ne
marchera pas convenablement.