6 à 7 minutes Niveau : intermédiaire
Objectif de cette astuce
Comprendre pourquoi wp-config.php est le fichier le plus sensible de WordPress, et ajouter deux ou trois lignes dans .htaccess pour le rendre inaccessible depuis n’importe quel navigateur.
Le problème : wp-config.php est accessible par défaut
Par défaut, WordPress ne bloque pas l’accès HTTP à wp-config.php. Cela signifie que n’importe qui peut tenter de l’atteindre via l’URL monsite.com/wp-config.php. En pratique, PHP interprète le fichier et n’affiche rien — mais dans certaines configurations serveur mal paramétrées, une erreur d’interprétation ou une faille peut exposer le contenu brut du fichier.
Ce fichier contient des informations sensibles, et sa sécurité ne doit pas être prise à la légère. Si vous faites face à un piratage du fichier wp-config.php, cela peut compromettre l’intégrité de votre site, permettant à des tiers d’accéder à des données sensibles.

Ce fichier contient en clair les identifiants de connexion à la base de données (nom, utilisateur, mot de passe, hôte), les clés secrètes d’authentification qui signent les cookies de session, et le préfixe des tables MySQL. Bloquer complètement tout accès au fichier ajoute une couche de sécurité. Si quelqu’un devait pirater un site web, il s’agirait de l’un des premiers fichiers auxquels il essaierait d’accéder en raison des informations qu’il contient.
Où se trouve le fichier .htaccess ?
Le fichier .htaccess se trouve à la racine de WordPress, dans public_html/. C’est un fichier caché — pour le voir dans le gestionnaire de fichiers cPanel, activez l’affichage des fichiers cachés. Via FTP (FileZilla), activez Serveur → Afficher les fichiers cachés.
Précaution absolue : sauvegardez toujours le
.htaccessavant de le modifier. Une erreur de syntaxe peut rendre l’intégralité du site inaccessible avec une erreur 500.
Le bloc WordPress généré automatiquement au début du fichier (entre # BEGIN WordPress et # END WordPress) ne doit pas être modifié. Ajoutez vos règles de sécurité après ce bloc.
Les règles à ajouter

Bloc 1 — Protéger wp-config.php (indispensable)
# Bloquer l'accès HTTP direct à wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>
Vous pouvez protéger votre fichier wp-config.php en ajoutant ces lignes à votre fichier .htaccess. Vous serez toujours en mesure d’accéder à vos fichiers via FTP, ou via la console d’administration de votre hébergeur.
Bloc 2 — Protéger .htaccess lui-même (recommandé)
# Le .htaccess se protège lui-même
<files .htaccess>
order allow,deny
deny from all
</files>
Le fichier .htaccess est un fichier très important pour la sécurité de votre site WordPress : il suffit qu’un hacker y accède pour qu’il y change toutes les règles d’accès et d’autorisations. Securitewp
Bloc 3 — Version alternative : protéger plusieurs fichiers en une seule règle (optionnel)
# Protéger plusieurs fichiers sensibles en une fois
<FilesMatch "(wp-config\.php|\.htaccess|readme\.html|license\.txt)">
Order allow,deny
Deny from all
</FilesMatch>
Cette approche avec FilesMatch permet de couvrir en une seule directive wp-config.php, .htaccess, readme.html et license.txt — les quatre fichiers à la racine qui peuvent révéler des informations sur votre installation.
Conseil de formateur : choisissez soit le Bloc 1 + Bloc 2 séparément, soit le Bloc 3 seul. N’utilisez pas les deux en même temps — les règles se superposeraient inutilement.
Le résultat : erreur 403 pour tout accès HTTP
Après enregistrement du .htaccess, si quelqu’un tente d’accéder à monsite.com/wp-config.php depuis son navigateur, il obtient une erreur 403 Forbidden — le serveur Apache refuse la requête avant même que PHP n’entre en jeu.

Points importants à retenir
Cette protection est spécifique à Apache. Le fichier .htaccess n’est lu que par les serveurs Apache. Si votre hébergement utilise Nginx (de plus en plus courant), ces règles sont ignorées. Dans ce cas, la protection doit être configurée directement dans la configuration Nginx par votre hébergeur — ou déléguée à un plugin de sécurité.
L’accès FTP reste possible. Le .htaccess ne bloque que les requêtes HTTP. Vous pouvez toujours accéder à wp-config.php normalement via FileZilla ou le gestionnaire de fichiers cPanel pour le modifier.
Certaines extensions de sécurité modifient le .htaccess automatiquement. Si vous utilisez Wordfence, iThemes Security ou All In One Security, ils peuvent déjà avoir ajouté ces protections. Vérifiez le fichier avant d’ajouter des règles en double.
Lien avec les autres astuces
Cette astuce complète naturellement les deux précédentes. Dans l’astuce Configurer wp-config.php, on a sécurisé le contenu du fichier. Ici, on sécurise son accès depuis l’extérieur. Ces trois niveaux de protection forment une chaîne cohérente : le fichier est bien configuré, son éditeur web est désactivé, et son accès HTTP est bloqué.
Récapitulatif
| Règle | Fichier protégé | Priorité |
|---|---|---|
| <files wp-config.php> deny from all | wp-config.php | Indispensable |
| <files .htaccess> deny from all | .htaccess | Recommandé |
| FilesMatch multi fichiers | wp-config + .htaccess + readme + license | Optionnel |
Ce qu’il faut retenir
Trois lignes dans .htaccess suffisent à bloquer l’accès au fichier le plus critique de WordPress. C’est une mesure de défense en profondeur : elle ne remplace pas un bon mot de passe ni les mises à jour, mais elle ferme une porte d’entrée que les robots d’attaque testent systématiquement. À faire sur chaque nouveau site, en même temps que la configuration de wp-config.php.