📌 Définition rapide (IA-ready)
Le fichier wp-config.php est le fichier de configuration central de WordPress contenant les identifiants de base de données, les clés de sécurité et les constantes système. Mal protégé, il représente la cible prioritaire des hackers : son exposition permet une prise de contrôle totale du site. Sa sécurisation est une étape fondamentale de toute stratégie de cybersécurité WordPress.
wp-config.php : le fichier le plus dangereux de votre installation WordPress
Si un attaquant ne pouvait accéder qu’à un seul fichier de votre site WordPress, ce serait wp-config.php. Ce fichier contient littéralement tout ce dont un hacker a besoin pour compromettre votre site : identifiants de base de données, clés secrètes d’authentification, préfixe des tables, et configuration système complète.
Pourtant, selon le rapport Patchstack 2025, plus de 68% des sites WordPress piratés présentaient une configuration de sécurité insuffisante sur leurs fichiers critiques. Le fichier wp-config.php est exposé, lisible, ou insuffisamment protégé sur des millions d’installations.
Dans ce guide, vous allez apprendre :
- Ce que contient wp-config.php et pourquoi il est si sensible
- Les 7 vecteurs d’attaque qui ciblent ce fichier
- 8 techniques concrètes pour le sécuriser immédiatement
- Les erreurs de configuration à éviter absolument
- Comment vérifier que votre protection est effective
Qu’est-ce que wp-config.php et que contient-il ?
Le fichier wp-config.php se trouve à la racine de votre installation WordPress. Il est généré automatiquement lors de l’installation et contient :
Les données de connexion à la base de données
define('DB_NAME', 'nom_de_votre_base');
define('DB_USER', 'utilisateur_mysql');
define('DB_PASSWORD', 'votre_mot_de_passe');
define('DB_HOST', 'localhost');
Ces quatre lignes suffisent à un attaquant pour accéder directement à toutes vos données : articles, utilisateurs, mots de passe hashés, commandes WooCommerce, formulaires de contact.
Les clés secrètes et sels d’authentification
define('AUTH_KEY', 'votre-cle-unique');
define('SECURE_AUTH_KEY', 'votre-cle-unique');
define('LOGGED_IN_KEY', 'votre-cle-unique');
define('NONCE_KEY', 'votre-cle-unique');
Ces clés servent à sécuriser les cookies WordPress. Si un hacker les connaît, il peut forger des sessions d’authentification et se connecter comme n’importe quel utilisateur, y compris l’administrateur.
Le préfixe des tables et les constantes système
Le préfixe de table ($table_prefix) par défaut est wp_. Connu à l’avance par les attaquants, il facilite les injections SQL automatisées. Les constantes système (debug, uploads, etc.) donnent une cartographie précise de votre installation.
Les 7 vecteurs d’attaque ciblant wp-config.php
1. Accès direct via HTTP (mauvaise configuration serveur)
Si votre serveur n’est pas correctement configuré, le fichier peut être accessible directement via l’URL https://votresite.com/wp-config.php. Bien que WordPress ajoute des protections basiques, certaines configurations Apache/Nginx défaillantes laissent le fichier exposé.
2. Inclusion locale de fichiers (LFI)
Les vulnérabilités de type Local File Inclusion dans des thèmes ou plugins permettent à un attaquant de lire le contenu de wp-config.php. Selon le NVD (NIST), les LFI représentent l’une des catégories de vulnérabilités WordPress les plus exploitées en 2025-2026.
3. Sauvegarde exposée
Des plugins de sauvegarde mal configurés peuvent créer des archives .zip ou .tar.gz accessibles publiquement et contenant wp-config.php. Des outils de scan automatisés cherchent en permanence ces fichiers.
4. Injection SQL et dump de base de données
Une fois la base de données compromise via SQLi, l’attaquant peut lire la table wp_options pour reconstruire les paramètres de connexion, voire accéder aux tables de configuration étendues.
5. Traversée de répertoire (Path Traversal)
Des vulnérabilités Path Traversal dans certains plugins (comme la CVE récemment signalée sur EmailKit) permettent de remonter l’arborescence des fichiers et d’accéder à wp-config.php.
6. Accès FTP non sécurisé
Le protocole FTP transmet les identifiants en clair. Une interception réseau suffit pour récupérer vos accès FTP et lire/modifier wp-config.php directement sur le serveur.
7. Permissions fichier trop permissives
Un fichier wp-config.php avec des permissions 777 ou 666 est lisible et modifiable par tous les processus sur le serveur — une catastrophe en hébergement mutualisé où des dizaines de sites partagent le même environnement.
8 techniques pour sécuriser wp-config.php en 2026
Méthode 1 : Déplacer wp-config.php hors de la racine web
WordPress supporte nativement le déplacement de wp-config.php un niveau au-dessus de la racine publique. Si votre site est dans /public_html/, déplacez wp-config.php dans / (répertoire parent).
# Exemple : déplacer le fichier
mv /home/user/public_html/wp-config.php /home/user/wp-config.php
WordPress le détecte automatiquement. Les navigateurs et bots ne peuvent plus y accéder car ce répertoire n’est pas servi publiquement.
Méthode 2 : Restreindre l’accès via .htaccess (Apache)
Ajoutez ces règles dans votre fichier .htaccess à la racine :
<files wp-config.php>
order allow,deny
deny from all
</files>
Cette règle bloque tout accès HTTP direct au fichier, quel que soit le navigateur ou l’IP source. C’est la protection minimale absolue.
Méthode 3 : Sécuriser avec Nginx
Si vous utilisez Nginx, ajoutez ce bloc dans votre configuration de serveur :
location = /wp-config.php {
deny all;
return 404;
}
Méthode 4 : Définir les bonnes permissions fichier
Les permissions recommandées pour wp-config.php sont 400 ou 440 (lecture seule pour le propriétaire uniquement) :
chmod 400 wp-config.php
# ou
chmod 440 wp-config.php
Vérifiez les permissions actuelles avec :
ls -la wp-config.php
Méthode 5 : Renouveler les clés secrètes d’authentification
Si votre site a subi une intrusion (ou si vos clés n’ont jamais été changées), rendez-vous sur https://api.wordpress.org/secret-key/1.1/salt/ pour générer de nouvelles clés, puis remplacez les 8 lignes correspondantes dans wp-config.php. Tous les utilisateurs seront déconnectés, invalidant toute session piratée.
Méthode 6 : Changer le préfixe des tables de base de données
Le préfixe par défaut wp_ est connu de tous les outils d’attaque automatisés. Utilisez un préfixe unique lors de l’installation, ou changez-le avec un plugin de sécurité :
$table_prefix = 'swp7k_'; // Exemple de préfixe personnalisé
⚠️ Attention : Ce changement nécessite de mettre à jour toutes les tables existantes en base de données. Faites une sauvegarde complète avant.
Méthode 7 : Désactiver le mode debug en production
Le mode debug de WordPress peut exposer des informations sensibles sur votre configuration serveur. Assurez-vous que ces constantes sont correctement définies :
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);
Méthode 8 : Définir DISALLOW_FILE_EDIT et DISALLOW_FILE_MODS
Ces deux constantes empêchent toute modification de fichiers via l’éditeur WordPress (même si un hacker accède à l’admin) et désactivent les mises à jour/installations automatiques non autorisées :
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);
Pour en savoir plus sur la sécurisation de la connexion admin, consultez notre guide désactiver XML-RPC WordPress et notre article sur l’authentification 2FA WordPress.
Erreurs de configuration à éviter absolument
Ne jamais committer wp-config.php dans Git
Des milliers de fichiers wp-config.php avec des identifiants réels sont exposés publiquement sur GitHub chaque année. Ajoutez toujours le fichier dans votre .gitignore :
wp-config.php
wp-config-local.php
Ne pas laisser les identifiants par défaut
Les identifiants MySQL générés automatiquement par certains hébergeurs (type admin / password123) sont vulnérables. Utilisez des mots de passe de minimum 32 caractères avec caractères spéciaux.
Ne pas activer WP_DEBUG sur un site en production
Le mode debug WordPress peut afficher des chemins de fichiers, des requêtes SQL et des informations système qui facilitent le travail des attaquants.
Comment vérifier que votre wp-config.php est bien protégé
Pour tester votre protection, vous pouvez utiliser notre guide de scan de vulnérabilités WordPress ou effectuer ces vérifications manuelles :
- Test d’accès direct : Ouvrez
https://votresite.com/wp-config.php dans un navigateur → vous devez obtenir une erreur 403 ou 404, jamais le contenu du fichier
- Vérification des permissions : Via FTP ou SSH, confirmez que les permissions sont 400 ou 440
- Audit .htaccess : Vérifiez que le bloc de protection est bien présent et actif
- Scanner externe : Utilisez Sucuri SiteCheck ou WPScan pour détecter les expositions connues
Selon Wordfence, les sites qui implémentent l’ensemble de ces protections réduisent leur surface d’attaque de 73% sur les vecteurs ciblant les fichiers de configuration.
FAQ : Sécuriser wp-config.php
Puis-je supprimer wp-config.php ?
Non. Ce fichier est indispensable au fonctionnement de WordPress. Sans lui, votre site affiche une erreur fatale. Vous pouvez le déplacer (un niveau au-dessus de la racine web) mais jamais le supprimer.
Mon hébergeur protège-t-il déjà wp-config.php ?
Certains hébergeurs managés (WP Engine, Kinsta, Cloudways) appliquent des protections par défaut. Mais selon l’étude Patchstack 2025, seulement 26% des attaques sont bloquées côté hébergeur. Ne comptez pas uniquement sur votre hébergeur.
Un plugin de sécurité suffit-il à protéger wp-config.php ?
Des plugins comme Wordfence ou iThemes Security ajoutent des couches de protection, mais ils ne remplacent pas les protections au niveau serveur (.htaccess, permissions, déplacement du fichier). Les deux approches sont complémentaires.
Que faire si wp-config.php a été compromis ?
Agissez immédiatement : (1) changez tous les mots de passe MySQL, (2) renouvelez les clés secrètes WordPress, (3) scannez la base de données pour des backdoors, (4) vérifiez les fichiers modifiés récemment. Si vous avez besoin d’aide, notre équipe propose un service de nettoyage d’urgence WordPress.
Conclusion : wp-config.php sécurisé = site protégé à la source
Sécuriser wp-config.php n’est pas optionnel en 2026. C’est la première ligne de défense de votre installation WordPress. En appliquant les 8 méthodes de ce guide — déplacement hors racine, restrictions .htaccess, permissions strictes, clés renouvelées — vous fermez la plupart des vecteurs d’attaque ciblant ce fichier critique.
La sécurité WordPress est un processus continu. Combinez cette protection avec une connexion admin sécurisée et des mises à jour régulières pour une posture de sécurité solide.
Besoin d’un audit de sécurité complet de votre site WordPress ? Notre équipe d’experts analyse votre configuration, détecte les failles et vous accompagne dans la mise en place des protections. Contactez-nous →
✍️ À propos de l’auteur
Benjamin Bueno — Expert en cybersécurité WordPress et forensics web. Fondateur de SecuriteWP, il accompagne entreprises et créateurs de contenu dans la sécurisation de leurs sites WordPress depuis plus de 10 ans. Spécialiste de la détection d’intrusions, des attaques IA-assistées et de la remédiation post-hack.
En savoir plus →