Documentation sur les fichiers .htaccess
Comment utiliser les directives du serveur Web Apache (sous Unix/Linux) pour mettre en place un système de protection des fichiers et répertoires critiques.
En effet, pour protéger un répertoire de fasson à en restreindre l'accès, nous allons utiliser les fichiers ".htaccess" et ".htpasswd".
Mais tout d'abord pour protéger quels répertoires ? quels fichiers ?
C'est en priorité les repertoires critiques de votre site internet qu'il faut protéger, le dossier où se trouve par exemple votre phpmyadmin ou bien les fichiers de connection à votre base mysql sont des choses à sécuriser au plus vite !
NOTE : Si vous êtes sous Windows vous ne pouvez pas renommer un fichier en .htaccess, sauvegardez le en htaccess.txt et renommez le une fois que le fichier est sur le serveur.
1 - Le fichier .HTACCESS
Le fichier .htaccess est un simple fichier qui se compose de manière suivante :
# .htaccess
AuthUserFile /space_3/votre-login/www/repertoire/.htpasswd (emplacement absolu du fichier .htpasswd sur le serveur, le space_3 est spécifique a IPFRANCE)
AuthGroupFile /dev/null
AuthName "Message affiché - nom/description de la restriction"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
Evidemment, ceci n'est qu'un exemple et ne permet que de protéger l'accès au répertoire dans lequel il se trouve, vous pouvez egalement protéger l'accès à certains fichiers seulement :
Remplacez le tag limit utilisé dans notre exemple précédent par celui ci:
<Files "nom de votre fichier">
require valid-user
</Files>
Le paramètre require valid-user est utilisé, pour que seules les personnes inscrites dans le fichier .htpasswd puissent accéder au repertoire ou au fichier, pour qu'aucune personne ne puisse y accéder remplacez require valid-user par deny from all
Pour plus de précisions > Apache Today ou le Guide Utilisateur APACHE
2 - Le fichier .HTPASSWD
Le fichier .htpasswd contient tous les utilisateurs autorisés et leurs mots de passes, il se presente sous cette forme :
compte1:motdepasse1
compte2:motdepasse2
Vos mots de passes doivent êtres cryptés pour cela utilisez par exemple ce script > Cryptage.
Vous obtenez donc avec notre exemple un fichier .htpasswd de ce genre :
compte1:65fTJRq7zeweo
compte2:78gPqvyh0TV6U
Maintenant vous placez votre fichier .htpasswd dans le repertoire de votre choix mais attention à bien modifier le code du fichier .htaccess en conséquence..
Je vous conseille de protéger votre liste de mots de passes en la nommant autrement que .htpasswd (ex : .htpass ou .mespasswords), mais encore une fois n'oubliez pas de modifier vos fichiers .htaccess en conséquence.
Vous pouvez protéger votre liste de mots de passes en la stockant dans un sous-répertoire de votre site Web que vous protégerez en créant un fichier .htaccess dans ce sous répertoire, contenant uniquement la ligne : deny from all.
Si vous obtenez toutefois encore des erreurs en ayant bien suivit cette doc, vous pouvez toujours allez voir la documentation de free à ce sujet : ici
3 - Autres applications du .htaccess
> La gestion des erreurs..
C'est a dire la redirection vers la page de votre choix lorsque intervient une erreur 401, 403, 404 ou 500 pour les plus communes.
Pour ce faire ajoutez un fichier .htaccess ds votre repertoire www avec dedans juste le code suivant :
ErrorDocument 404 /erreur.html
Notre exemple est pour une erreur 404..
Pour vous aider dans la rédaction des messages d'erreurs voici la descriptions des erreurs les plus communes :
401: Authorization required. Cette erreur est générée lorsqu'un visiteur saisit un mauvais login / mot de passe lors de l'accès à un fichier ou répertoire protégé.
403: Access denied. L'accès à un répertoire dans lequel aucun fichier index.html (ou index.cgi, etc.) n'est présent et que la confiruration du serveur interdit l'affichage des fichiers du répertoire.
404: Not Found. Le fichier que le visiteur essaie de voir n'existe pas.
500: Server Error. Typiquement, c'est le cas lorsqu'un CGI ne s'est pas exécuté correctement, ou que les droits du script ne sont pas corrects.
Liens utilisés dans ce documents :
Documentation FREE sur l'activation de la restriction d'accès
APache Today : Using .HTACCESS files with apache
Guide utilisateur APACHE
Script perl de cryptage OVH.net
Documentation réalisé par Jm_Verge de RulezLAN pour IPFRANCE.NET