gueschla.com/2007/05/23/desactiver-le-listing-des-repertoires-de…

post 14 of 32 · 23 May 2007 · written in French

Turning off directory listing with .htaccess

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

When a folder has no index file, many servers list its contents, which can expose forgotten backups and data files. An empty index.html in each folder is one fix, but tedious. The better one is a single line in .htaccess, Options -Indexes, which returns a 403 and applies to every subfolder.

desactiver-le-listing-des-repertoires-de-votre-s.fr23 May 2007 · 09:28

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’.

Original French text from Internet Archive captures of gueschla.com. Light typo fixes only. Links to outside sites are shown as plain text, because most of those 2007 addresses no longer lead where they did.