Accueil > Boîtes à outils > Sécurité et piratage > Protéger un répertoire par .htaccess (...)

Protéger un répertoire par .htaccess et .htpasswd

Pour les "experts"

.htaccess, placé dans le répertoire que l’on veut protéger :

AuthUserFile /var/www/vhosts/www.domaine.tld/httpdocs/private/.htpasswd
AuthName "Acces reserve"
AuthType Basic
Require valid-user

Suivez ce lien pour connaître l’adresse de votre répertoire racine

Remarque : dans le cas d’un sous-domaine de ouvaton.org, le chemin doit ressembler à ça :

/var/www/vhosts/sousdomaine.ouvaton.org/httpdocs/private/.htpasswd

.htpasswd, placé dans le répertoire private [1] :

toto:s5eg4uç(d2hr/
titi:MPuYn8B8DjMiE

Suivez ce lien pour coder vos mots de passe.

Puis, dans votre répertoire "private" pour qu’on ne puisse pas voir les mots de passe, placez un .htaccess contenant :

<Files *>
Deny from all
</Files>

C’est tout pour les experts.

Pour les béotiens !

Dans le système d’exploitation Unix/Linux, les fichiers dont le nom commence par un point décimal sont des fichiers cachés, caché ne signifie pas invisible, mais qu’ils n’apparaissent pas dans les commandes les plus fréquentes si leur affichage n’est pas demandé.

Dans le cadre des hébergements sur serveur Apache, il est aisé de soustraire certains répertoires à la curiosité du public. Le fichier .htaccess est un outil pratique pour cette fonctionnalité.
Il faut disposer de 2 répertoires qui seront protégés.

Le 1er répertoire (nommé par exemple "private") contiendra les 2 fichiers :
".htaccess" + ".htpasswd"

Pour les créer, utilisez l’éditeur de texte de base de votre système.

Le fichier .htaccess contient le code suivant :

<Files *>
Deny from all
</Files>

Ce code protège l’accès au répertoire .private afin d’empêcher la lecture des mots de passe contenus dans le fichier texte .htpasswd.

Le fichier .htpasswd contient lui les logins (nom d’utilisateur ou pseudo) et mots de passe que l’on aura constitués chez Ouvaton ou ailleurs.

Pour faire un mot de passe voir ici ou .

Voici un exemple :

toto: Cx6hjhmmUIPMZ4uc
titi: ylTchglgljHcvhrdU

Le 2e répertoire contient :

Les fichiers et/ou répertoires à accès protégé + 1 autre fichier .htaccess différent du précédent. Ce fichier contiendra le code suivant, dans le cadre de l’exemple choisi avec le répertoire .private :

Options +Indexes
AuthUserFile /var/www/vhosts/www.domaine.tld/httpdocs/private/.htpasswd
AuthName "Répertoire à accès réservé"
AuthType Basic
Require valid-user

- La première ligne permettra de donner la liste du contenu du répertoire (ceci n’est pas obligatoire, on peut préférer, pour plus de sécurité, ne pas utiliser cette possibilité)
- La seconde ligne donne l’emplacement du fichier des mots de passe.
- La troisième est la chaîne de caractères qui apparaîtra dans la boîte de dialogue au moment de la saisie du nom et du mot de passe.
- La quatrième détermine le type d’authentification utilisé, ici l’authentification HTTP standard.
- Et enfin la cinquième ligne signifie littéralement qu’un utilisateur valide est requis, à savoir un utilisateur pour le nom duquel une ligne existe dans le fichier .htpasswd.

Une variante de la quatrième ligne pourrait être :

require user "pierre" "paul"

pour limiter l’accès aux seuls utilisateurs "pierre" et "paul"


Pour en savoir plus sur les fichiers .htaccess, vous pouvez vous rendre ici http://www.spip-contrib.net/Le-fich...

Le tutoriel depuis apache.org pour les généralités concernant les fichiers ".htaccess" ou bien la page plus spécifique sur l’authentification.


[1(/httpdocs/private)