Contexte

Par défaut, sur un serveur Web Apache, un répertoire qui ne contient pas de fichier d'index défini par la configuration (index.html ou index.php) affichera une liste de tous les fichiers et sous-répertoires du répertoire. Cela peut être utile sur un serveur de test personnel mais constitue un risque de sécurité important sur un serveur de production en production.

Autrefois, il était courant d'inclure un fichier index.html vide dans tous les Dossiers Joomla! pour éviter ce problème sur des serveurs mal configurés. Ce n'est plus le cas. Une configuration correcte du serveur est attendue, soit dans les fichiers de configuration du serveur, soit dans des fichiers .htaccess individuels. La première solution est préférable car elle s'applique à tous les sites Web du serveur.

Cependant, les sites dans un environnement d'hébergement mutualisé peuvent s'attendre à ce que chaque site modifie la configuration du serveur à l'aide de fichiers .htaccess. Le serveur doit être configuré sur "AllowOverride Options" ou "AllowOverride All" pour permettre les remplacements dans .htaccess.

Utiliser .htaccess

Le fichier htaccess.txt fourni avec Joomla! peut être utilisé sur les serveurs Apache en le renommant ou en le copiant en .htaccess. Il contient de nombreux paramètres pour contrer les attaques de pirates sur les sites Joomla!. Entre autres, vous verrez les paramètres suivants pour empêcher la liste des répertoires :

Options -Indexes

## No directory listings
<IfModule mod_autoindex.c>
    IndexIgnore *
</IfModule>

Testez votre site

Une façon de tester votre site est de saisir l'URL de votre Dossier images dans la barre d'adresse du navigateur : https://votredomaine.com/images/. Comme le Dossier images ne contient normalement pas de fichier index.html ou index.php, vous devriez voir une page complètement vide. Si vous voyez une liste de tous les fichiers et Dossiers, alors vous n'empêchez pas l'analyse des répertoires pour une partie de votre site. Corrigez cela !