678 tutoriels en ligne

Créa-blog

#100JoursPourCoder
Projet Créa-code | Formation Créa-troyes

Ressources pour développeur web

Théme de la semaine : WebDesign

Fichier .htaccess : Empêcher l’accès aux dossiers sensibles

Temps de lecture estimé : 6 minutes
Accueil CyberSécurité Fichier .htaccess : Empêcher l’accès aux dossiers sensibles

Il existe des erreurs si petites qu’on ne les remarque pas… jusqu’au jour où tout s’écroule. Laisser certains dossiers importants accessibles sur votre site web en fait partie. Tant que personne ne les consulte, tout va bien. Mais lorsque quelqu’un découvre une faille, c’est souvent trop tard. Heureusement, empêcher l’accès non désiré à vos répertoires est simple, gratuit et à votre portée, même si vous débutez. Découvrez comment le fichier .htacces permet d’empêcher l’accès aux dossiers sensibles de votre site web.

  • Comprendre simplement comment sécuriser les dossiers sensibles d’un site et éviter que des fichiers ou données importantes soient accessibles publiquement.
  • Apprendre à utiliser le fichier .htaccess pour renforcer la protection du site, même en étant débutant, avec des exemples concrets faciles à appliquer.
  • Gagner en sérénité en mettant en place des mesures efficaces pour limiter les risques d’intrusions, d’abus et d’exploitation malveillante du site.

Le fichier .htaccess est l’un des outils les plus puissants proposés par les serveurs web Apache. Il permet de contrôler ce qui est autorisé, ce qui doit être bloqué, et comment votre site réagit lorsqu’un internaute essaie d’accéder à une zone interdite. Dans cet article, vous allez apprendre pas à pas à protéger vos dossiers sensibles, comme /uploads, /config, /admin et bien d’autres.

Comprendre pourquoi il faut vraiment protéger vos dossiers

Lorsque vous installez un site web, beaucoup de dossiers restent accessibles par défaut si aucune mesure n’est prise. Par exemple, sur de nombreux sites, si quelqu’un tape simplement dans son navigateur :

https://votresite.fr/upload/

Il peut parfois voir la liste complète des fichiers présents dans ce répertoire. Et dans certains cas, cela peut contenir des documents confidentiels, des images privées, des sauvegardes, voire des fichiers techniques très sensibles.

Dans d’autres dossiers, comme /config ou /admin, les risques sont encore plus grands. Ces endroits peuvent contenir des informations sur votre base de données, des fichiers de configuration, voire des accès administrateurs. Si vous laissez ces répertoires visibles, vous offrez une porte ouverte aux curieux, aux robots malveillants ou même aux pirates. Et croyez-moi, ils n’ont jamais de bonnes intentions.

Le but de cet article est donc clair : vous aider à empêcher l’accès non autorisé à ces répertoires en utilisant correctement votre fichier .htaccess, un petit fichier magique souvent sous-estimé.

Qu’est-ce que le fichier .htaccess, expliqué simplement

Le .htaccess est un fichier de configuration utilisé par les serveurs Apache. Vous le placez dans le dossier de votre site (souvent à la racine), et il permet de donner des instructions au serveur sans toucher à sa configuration principale. Vous pouvez par exemple rediriger des pages, afficher des erreurs personnalisées, renforcer la sécurité et bien sûr empêcher l’accès à certains répertoires.

Ce fichier fonctionne comme un garde de sécurité. Il lit les règles que vous avez écrites et applique ensuite des décisions : autoriser, refuser, rediriger, bloquer. Son avantage, c’est qu’il fonctionne côté serveur, avant même que la page ne s’affiche. Cela signifie que même si quelqu’un essaye d’ouvrir directement un lien secret, il sera bloqué net.

Si vous débutez, rassurez-vous. Vous n’avez pas besoin d’être un expert système. Vous aurez simplement à copier quelques lignes de code, à comprendre ce qu’elles font et à les coller au bon endroit.

Où trouver et comment modifier votre fichier .htaccess

Pour utiliser .htaccess, vous devez accéder à votre site via un gestionnaire de fichiers ou un client FTP comme FileZilla. Le fichier se trouve généralement à la racine de votre site, au même endroit que votre index.php.

Il peut arriver que vous ne le voyiez pas. Ce n’est pas inquiétant. Le fichier commence par un point, ce qui signifie qu’il est caché par défaut sur beaucoup d’hébergeurs. Il suffit d’activer l’affichage des fichiers cachés. Sur FileZilla par exemple, il existe une option “Afficher les fichiers cachés”.

Si le fichier n’existe pas, vous pouvez simplement en créer un. Vous créez un fichier texte, vous le nommez exactement .htaccess (sans extension .txt), et vous le placez au bon endroit. Ensuite, vous pourrez commencer à écrire vos règles dedans.

Petit conseil venant d’une expérience personnelle : faites toujours une sauvegarde avant de toucher à votre .htaccess. La moindre erreur peut provoquer une erreur 500 et rendre votre site inaccessible temporairement. Une fois, j’ai bloqué tout un site parce que j’avais oublié une seule lettre. Cela fait rire… mais seulement après avoir réparé.

Empêcher l’accès direct à un dossier sensible

Commençons par le plus simple et le plus courant : bloquer complètement l’accès à un dossier précis. Par exemple, imaginons que vous souhaitez empêcher l’accès au dossier /config.

Vous allez dans ce dossier, vous créez un fichier .htaccess à l’intérieur, et vous y ajoutez :

Order deny,allow
Deny from all

Cela signifie simplement : refuser toutes les connexions externes. Si quelqu’un tente d’accéder à ce dossier via son navigateur, il sera bloqué immédiatement.

Sur certaines versions d’Apache récentes, on utilise plutôt la directive Require :

Require all denied

Le résultat est le même : empêcher l’accès à tout le monde.

Empêcher l’affichage du contenu d’un dossier

Même si un dossier ne contient pas de fichier critique, vous n’avez sûrement pas envie que n’importe qui puisse voir la liste de ses fichiers. C’est ce qu’on appelle la “navigation de répertoire”. Pour désactiver cela sur tout votre site, vous pouvez ajouter dans le .htaccess principal :

Options -Indexes

Avec cette ligne, si quelqu’un essaie d’ouvrir un dossier sans index, il verra une erreur au lieu de la liste des fichiers. C’est simple et terriblement efficace.

Protéger le dossier /uploads, souvent oublié mais très important

Le dossier /uploads est l’un des plus exposés sur de nombreux sites, notamment WordPress. Il contient souvent des images, mais aussi parfois des fichiers exécutables que quelqu’un pourrait tenter d’exploiter.

Vous pouvez empêcher l’accès à tout fichier dangereux à l’intérieur, tout en laissant vos images visibles. Voici un exemple que vous pouvez placer dans /uploads.

<FilesMatch "\.(php|php5|php7|phtml)$">
Require all denied
</FilesMatch>

Cette règle empêche l’exécution de fichiers PHP dans ce dossier. Ainsi, même si quelqu’un réussissait à téléverser un script malveillant, il ne pourrait pas l’exécuter.

Sécuriser le dossier /admin pour éviter les intrusions

Le dossier /admin est souvent le cœur de commande d’un site. C’est là que se trouvent vos outils, votre panneau d’administration, parfois vos scripts les plus sensibles. Laisser cet espace ouvert reviendrait presque à laisser les clés sur la porte. Il faut donc empêcher l’accès non autorisé le plus tôt possible.

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?

La première solution consiste simplement à bloquer tout le monde sauf vous. Si vous avez une IP fixe, c’est une excellente méthode car elle verrouille totalement l’accès. Dans le fichier .htaccess placé dans /admin, vous pouvez écrire :

Order deny,allow
Deny from all
Allow from 123.45.67.89

Ici, seule l’adresse IP 123.45.67.89 pourra accéder à ce dossier. Vous remplacez bien sûr cette IP par la vôtre. Si vous utilisez Apache récent, préférez la version moderne :

Require all denied
Require ip 123.45.67.89

Cela revient à empêcher l’accès général et à autoriser uniquement votre machine. C’est puissant, propre, et très efficace pour empêcher l’accès aux intrus.

Si vous n’avez pas d’IP fixe ou si vous travaillez depuis plusieurs lieux, pas de panique. Il existe une autre solution : protéger l’accès par mot de passe.

Mettre un mot de passe sur un répertoire sensible

Mettre un mot de passe sur un dossier est une technique extrêmement utilisée, justement parce qu’elle est simple à mettre en place. L’idée est d’obliger toute personne qui tente d’y entrer à s’authentifier. Sans identifiant valide, impossible d’avancer.

Pour cela, vous ajoutez dans le .htaccess du dossier concerné :

AuthType Basic
AuthName "Espace protege"
AuthUserFile /chemin/vers/.htpasswd
Require valid-user

Ensuite, vous devez créer un fichier .htpasswd à l’emplacement exact indiqué dans AuthUserFile. C’est lui qui contient les identifiants cryptés. Ce fichier se génère avec des outils en ligne ou via votre serveur. Vous évitez surtout de le placer dans un dossier public. Une fois en place, chaque visiteur devra entrer un mot de passe avant d’accéder au contenu.

Cette méthode est très utile pour empêcher l’accès à vos zones privées, à une partie en développement ou à un espace réservé à des clients.

Empêcher l’accès à certains types de fichiers dangereux

Parfois, le problème ne vient pas d’un dossier entier mais de certains types de fichiers. Par exemple, vous n’avez aucune raison d’autoriser l’accès à des fichiers .env, .ini ou .sql s’ils sont présents sur le serveur. Pour renforcer votre sécurité globale, vous pouvez ajouter ce genre de règles dans votre .htaccess principal :

<FilesMatch "\.(env|ini|sql|bak|config)$">
Require all denied
</FilesMatch>

Avec cette règle, même si un fichier sensible se retrouve malencontreusement à portée d’URL, il ne pourra pas être consulté. Et croyez-moi, cela arrive plus souvent qu’on ne le pense, surtout lors d’un transfert, d’une sauvegarde ou d’un oubli humain.

Bloquer certains robots et comportements suspects

Internet n’est pas uniquement composé d’utilisateurs humains. De nombreux robots scannent en permanence les sites web pour trouver des failles. Certains sont inoffensifs, d’autres beaucoup moins. Le fichier .htaccess permet aussi d’empêcher l’accès à ces visiteurs automatiques.

Par exemple, si vous souhaitez bloquer un user-agent malveillant, vous pouvez écrire :

BrowserMatchNoCase "BadBot" bad_bot
Order Allow,Deny
Allow from all
Deny from env=bad_bot

Cela stoppe immédiatement ce robot particulier. Cela peut sembler technique, mais l’idée à retenir est simple : vous pouvez filtrer ce qui a le droit de parcourir votre site.

Rediriger proprement plutôt que simplement bloquer

Bloquer, c’est bien. Mais parfois, vous préférerez rediriger l’utilisateur vers une page d’accueil ou une page d’erreur personnalisée. Cela rend votre site plus propre, plus professionnel et parfois plus discret.

Pour rediriger toute tentative d’accès à un dossier, vous pouvez utiliser :

RedirectMatch 403 ^/admin/

ou bien vers une autre page :

RedirectMatch 301 ^/admin/$ https://votresite.fr/

Ainsi, au lieu de révéler qu’un dossier admin existe et qu’il est simplement verrouillé, vous renvoyez l’utilisateur ailleurs. Cela ajoute une petite couche de confusion pour les curieux.

Tester vos protections avant de dormir tranquille

Quand vous travaillez sur la sécurité, il vaut toujours mieux vérifier. Après chaque modification de votre fichier .htaccess, testez vraiment. Essayez d’accéder au dossier concerné depuis votre navigateur. Vérifiez si la navigation de répertoire est bien désactivée. Testez l’accès avec et sans mot de passe. Si vous bloquez par IP, essayez depuis un autre appareil ou via une connexion différente.

Et surtout, n’oubliez jamais ce point crucial : une erreur dans .htaccess peut casser tout votre site. C’est pourquoi je vous encourage vivement à sauvegarder avant chaque modification. Cela prend cinq secondes et peut sauver votre journée.


Vous l’avez compris, empêcher l’accès aux dossiers sensibles grâce au .htaccess n’est pas un luxe réservé aux experts. C’est une nécessité, et surtout une responsabilité lorsque vous possédez un site. Il ne s’agit pas seulement de protéger des fichiers, mais de protéger votre travail, votre crédibilité, parfois même les données de vos utilisateurs. Un simple oubli peut coûter cher, pas seulement en temps mais aussi en confiance.

Ce qui est rassurant, c’est que ces protections sont accessibles. Vous n’avez pas besoin de devenir administrateur serveur ni de comprendre des concepts obscurs. Avec quelques lignes bien placées, vous pouvez verrouiller vos zones critiques, empêcher l’accès aux curieux, bloquer les robots malveillants et sécuriser votre site de manière stable. Et honnêtement, c’est une sensation très agréable que de savoir que votre site est un peu plus solide qu’hier.

Alors oui, cela demande un peu de rigueur lorsqu’on enregistre le fichier et qu’on actualise la page en croisant les doigts. Mais une fois en place, vous dormez mieux, votre site est plus propre, et vous faites un grand pas vers un environnement plus sécurisé. Continuez à apprendre, à renforcer et à tester. Votre site et vos visiteurs vous remercieront, même s’ils ne le savent pas.