nous allons voir ici comment limiter l’acces a une page avec identifiant et mot de passe via .htaccess et .htpasswd.
le principe consiste a mettre dans le repertoire de la page html un fichier .htacces contenant un script reconnu par le serveur appache. ce script n’autorisera l’acces au repertoire et l’ouverture de la page html qu’a condition de fournir un identifiant et un mot de passe contenu dans un fichier texte .htpasswd
nous travaillons sur la base du site web basique proposé ICI .
dans ce cadre , nous allons créer un repertoire “page3” avec dedans un fichier html “page3.html” dont nous limiterons l’acces par identifiant et mot de passes
CREATION DU FICHIER .htpasswd
le fichier .htpasswd devra être créé en mode console de façon a ce que le serveur Apache intègre le cryptage du mot de passe . en effet , le mot de passe sera crypté dans le fichier .htpasswd.
pour sécurisé doublement l’accès , nous le mettrons dans un répertoire créé a l’intérieur du répertoire “page3 ” ( il faudra créer ce répertoire en préliminaire) . quand nous aurons créé le fichier .htaccess et le fichier .htpasswd dans son répertoire nous aurons une structure de la page 3 comme ci dessous:
et dans le répertoire “password” :
pour créer le fichier .htpasswd, voici la ligne de commande shell a taper :
sudo htpasswd /var/www/html/page3/password/.htpasswd identifiant
il faudra remplacer identifiant par l’identifiant que vous souhaitez
après avoir validé la commande , shell vous demande de saisir un mot de passes. choisissez celui que vous souhaitez ( le noter en clair sur un papier) puis faire entré , le shell linux vous demande de confirmer le mot de passe . ne soyez pas étonné de ne rien voir apparaitre au moment de la frappe du mot de passe , c’est normal sous linux. apres avoir fini , si vous allez dans le répertoire password vous devriez voir un fichier .htpasswd et si vous l’ouvrez avec un éditeur de texte vous y verrez votre identifiant suivi de “:” et d’une série de chiffres et de lettres qui sont la forme cryptée de votre mot de passe.
vous pouvez créer d’autre identifiants et mots de passes en retapant la commande shell avec a la fin un nouvel identifiant autant de fois que vous souhaitez des users différents , le shell vous demandera ensuite un nouveau mot de passe et rajoutera le nouvel identifiant et le nouveau mot de passe dans le fichier .htpasswd.
CREATION DU FICHIER .htaccess
voici le fichier .htacces sous forme de fichier texte:
et voici le contenu
AuthUserFile /var/www/html/page3/password/.htpasswd
AuthName "Accès sécurisé"
AuthType Basic
Require valid-user
la première ligne spécifie le chemin d’accès du fichier .htpasswd. il est imperatif de saisir le chemin d’acces complet sinon cela ne marchera pas . la deuxième ligne le message d’authentification, la troisième ligne spécifie le type d’authentification. et la dernier ligne précise que tous les user du fichier .htpasswd seront autorisés.
il faudra mettre le fichier texte dans le répertoire “page3” et modifier le nom du fichier en “.htaccess” (sans les guillemets mais avec le point devant) .
ACTIVER LES FICHIER .htaccess SUR RASPBIAN
sur un raspberry PI avec raspbian, les fichier .htaccess ne sont pas activés par défaut car il ralentissent le fonctionnement d’un serveur Apache. il va donc falloir activer le support des htaccess dans apache. nous allons donc modifier les configurations d’Apache2 et pour cela, éditez le fichier de configuration par défaut des sites d’Apache via le shell. voici la commande a taper pour rentrer dans l’éditeur du fichier de config apache:
sudo nano /etc/apache2/apache2.conf
Puis, cherchez les lignes : ” AllowOverride None” , et remplacer par ” AllowOverride All” et enregistrer les modifications (CTRL + O et ENTREE )
pour que les modifications soient prise en compte il faut redémarrer Apache avec une commande shell :
/etc/init.d/apache2 restart
tout devrait maintenant être opérationnel , voici un exemple de ce que cela donne quand on clique sur le menu de gauche dans un site exemple=> une fenêtre demandant un nom d’utilisateur et un mot de passe s’ouvre. l’accès a la page ne pourras se faire qu’une fois un identifiant et mot de passe du fichier htpasswd reconnu.
on peut protéger de la même façon autant de répertoires/pages que souhaitées voir même l’accès au site complet et differnecier les identifiant et mot de passe suivant les pages concernées.