Désactiver le listing des répertoires de votre site Web via un fichier .htaccess

May 23rd, 2007

Comme vous l’avez sûrement déjà remarqué, lorsque vous entrez une url pointant vers un répertoire, et qu’il n’y a pas de fichier d’index du type index.html, en général, le serveur va vous lister tous les fichiers du répertoire. Exemple 1.

Cela peut poser des problèmes au niveau de la sécurité, en effet vous pouvez par exemple avoir oublié des backups, ou des données sous forme de fichier texte ou autres, qui ne doivent normalement pas être accessibles.

Le directory listing est activé par défaut sur la plupart des serveurs. Pour le désactiver deux solutions :

La première, consiste à placer un fichier index.html vide dans chaque répertoire ou ce dernier n’est pas présent. Exemple 2.

En shell sous linux voici le moyen le plus rapide :

touch index.html

Cependant, c’est une solution laborieuse, car il faut faire cela pour chaque répertoire où il n’y a pas d’index, et vous n’êtes pas à l’abri d’un oubli ! De plus, l’utilisateur voit une page blanche et non une erreur, il peut donc en déduire qu’il y a quelque chose à cet emplacement.

La seconde solution, la meilleure, consiste à passer par un fichier .htaccess. L’effet sera de désactiver le listing des fichiers, et de renvoyer une erreur 403 à la place (dans mon exemple, WordPress affiche une erreur 404, mais c’est bien une 403 qui est générée). Exemple 3.

Le mieux, c’est que cela aura un effet récursif : Si vous placez ce fichier à la racine de votre domaine, le directory listing sera désactivé pour tous les sous dossiers, sauf si vous le réactivez via un autre .htaccess.

Voici la ligne de code à mettre dans le fichier .htaccess :

Options -Indexes

Voilà, c’est une petite chose qui ne mange pas de pain, et qui, à mon sens, est indispensable sur tout site en prod’.

One Response to “Désactiver le listing des répertoires de votre site Web via un fichier .htaccess”

  1. Webkatalog Says:

    i thank u by this perfect informationen. now i can confic my own .haccess