Ma version de CMS/PHP est visible dans le code source : est-ce dangereux ?
Dernière vérification : 30 octobre 2026
Oui, dans la plupart des cas : une version de PHP ou de CMS visible publiquement permet à un attaquant de cibler directement les failles déjà connues de cette version précise, sans avoir à la deviner. Ce n'est pas une vulnérabilité au sens d'une CVE — aucune faille officielle ne porte sur le simple fait d'afficher sa version — mais une fuite d'information qui réduit le travail de repérage d'un attaquant à une recherche directe. PHP expose sa version par défaut dans l'en-tête HTTP tant que la directive expose_php reste activée, ce qui est son réglage par défaut (source : php.net).
Quelle version de PHP et de CMS votre site expose-t-il publiquement ? Vérifiez-le en 30 secondes.
Gratuit, sans inscription — scan passif en lecture seule, aucune modification de votre site.
Ce que le scan vérifie sur ce point :
- Détection de la version de PHP exposée par le serveur (en-tête HTTP X-Powered-By ou Server)
- Détection du cœur WordPress et de sa version exacte (balise meta generator)
- Détection des plugins et thèmes WordPress installés et de leur version exacte (lecture du fichier readme.txt ou style.css, publiquement accessible)
- Comparaison automatique de chaque version détectée aux vulnérabilités connues
Où se cache une version, concrètement
| Emplacement | Ce qu'il révèle | Comment un attaquant y accède |
|---|---|---|
| En-tête HTTP X-Powered-By ou Server | Version exacte de PHP | N'importe quelle requête HTTP standard (navigateur, curl) — activé par défaut (expose_php=On, source : php.net) |
| Balise <meta name="generator"> dans le HTML | Version exacte du cœur WordPress ou d'un autre CMS | Lecture du code source de la page d'accueil, sans outil particulier |
| Fichier readme.txt ou changelog.txt d'un plugin ou d'un thème | Version exacte de ce composant précis | Accès direct à son URL publique, sans authentification |
| Fichier readme.html à la racine d'un site WordPress | Numéro de version du cœur WordPress | Présent par défaut, réintroduit à chaque mise à jour du cœur |
Pourquoi un numéro précis accélère une attaque
Une version floue ("PHP récent", "WordPress à jour") oblige un attaquant à tester plusieurs hypothèses avant de trouver une faille exploitable. Un numéro de version exact transforme cette étape en une simple recherche dans les bases de vulnérabilités publiques (CVE, catalogue CISA KEV) : si cette version précise contient une faille connue, l'attaquant le sait immédiatement, sans avoir rien tenté sur le site lui-même.
Vérifiez les versions exposées par votre site
Gratuit, sans inscription — scan passif en lecture seule, aucune modification de votre site.
Ce n'est pas une faille, mais un multiplicateur de risque
Faire disparaître un numéro de version ne corrige rien : le code réel derrière cette version, à jour ou non, reste exactement le même. C'est pour cette raison que notre propre scanner classe la détection d'une version, en elle-même, comme une information, et réserve la sévérité réelle (critique, élevée…) à la comparaison effective de cette version avec des failles publiées.
Que faire concrètement
- Désactivez la directive expose_php dans php.ini (ou demandez-le à votre hébergeur si vous n'y avez pas accès direct) pour retirer la version de PHP des en-têtes HTTP.
- Ne vous arrêtez pas au masquage : vérifiez la version réelle et mettez-la à jour si elle est obsolète (voir nos guides dédiés PHP et WordPress ci-dessous).
- Restreignez l'accès direct aux fichiers readme.txt et changelog.txt des plugins et thèmes installés, sans bloquer leurs mises à jour automatiques.
- Supprimez ou videz le fichier readme.html à la racine de votre installation WordPress après chaque mise à jour du cœur, puisqu'il est régénéré à chaque fois.
Sources
Questions fréquentes
Afficher sa version est-il une vulnérabilité au sens d'une CVE ?
Non. C'est une fuite d'information (information disclosure), pas une faille exploitable en elle-même. Elle ne crée aucun accès, mais elle indique précisément où chercher une faille réelle si la version exposée en contient une.
Comment masquer la version de PHP ?
En désactivant la directive expose_php dans le fichier php.ini (sa valeur par défaut est activée). C'est la configuration officielle documentée par php.net ; sur un hébergement partagé sans accès direct à php.ini, demandez à votre hébergeur de le faire.
Le fichier readme.html à la racine d'un site WordPress pose-t-il le même problème ?
Oui : ce fichier, présent par défaut dans le cœur WordPress, affiche en clair le numéro de version. Le supprimer ne règle le problème que temporairement, car il est réintroduit à chaque mise à jour du cœur — un sujet discuté de longue date dans le système de suivi des tickets de WordPress lui-même (Core Trac, ticket #23394).
Masquer ma version suffit-il à me protéger ?
Non. Cela retire une information utile à un attaquant opportuniste, mais ne corrige aucune faille réelle : un code non mis à jour reste vulnérable, masqué ou non. Un attaquant déterminé peut aussi deviner une version par le comportement du site, pas seulement par une bannière affichée.
Pourquoi beaucoup d'hébergeurs laissent-ils cette information visible par défaut ?
Parce que la valeur par défaut de la directive expose_php de PHP est activée (source : php.net) : il faut une action explicite, côté configuration serveur, pour la désactiver — elle ne l'est pas automatiquement à l'installation.
Puis-je masquer WordPress sans toucher à la configuration PHP ?
Oui, ce sont deux réglages indépendants : la balise meta generator de WordPress et l'en-tête HTTP exposant PHP ne dépendent pas l'un de l'autre.
ScanMonSite rend-il ma version publique en la détectant ?
Non. ScanMonSite lit uniquement ce qui est déjà visible publiquement depuis l'extérieur, pour vous le signaler en privé — il ne publie ni ne partage cette information.
Pour aller plus loin
Vérifiez votre exposition
Gratuit, sans inscription — scan passif en lecture seule, aucune modification de votre site.
Votre site est déjà touché ? Demandez un devis de réparation.