Masquer le numéro de version de votre site WordPress

39 commentaires
Masquer le numéro de version de votre site WordPress

Le numéro de version de votre installation WordPress est une donnée publique. Elle peut compromettre votre sécurité mais surtout faciliter la récolte de statistiques.

Ouvrez simplement votre fichier functions.php à partir du module Apparence puis Éditeur.

Rajoutez ensuite cette ligne de code :

remove_action('wp_head', 'wp_generator');

Retournez à présent sur votre site WordPress puis faites un clic droit Code source de la page dans Firefox ou tout autre navigateur.

Utilisez le raccourci clavier Ctrl + F sous Windows ou Cmd + F sous MacOS X, pour rechercher le mot-clé generator.

Si la présence d’une ligne de code ressemblant à <meta name="generator" content="WordPress 3.0.5" /> persiste, ouvrez donc le fichier header.php de votre thème.

Supprimez la ligne de code suivante :

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

Sauvegardez le fichier puis actualisez votre site.

Le numéro de version ne devrait plus apparaître dans votre code source. Les hackers ne pourront plus disposer de cette information utile pour détecter les failles potentielles de votre installation WordPress.

Par Aurélien Denis

Consultant & Développeur WordPress / WooCommerce. Un site à créer, à maintenir ou à débuguer ? Contactez-moi.

39 commentaires
  1. loulou95

    Bonjour,

    j’ai insérer la ligne de code dans le fichier fonction.php

    et j’ai effectué la vérification mais la ligne generator apparaît toujours. Le problème est que j’ai beau chercher dans le fihcier header.php, je ne trouve pas cette ligne :

    Pourtant elle apparait toujours quand je regarde le code source en ligne ?

  2. Stéphane

    Bonjour Aurélien,

    Tout d’abord merci pour la qualité de vos articles qui en aident plus d’un !

    Simplement, je me pose une question de fond (débutant) à laquelle je suis sûr que vous allez pouvoir répondre :

    J’ai fait l’installation de wordpress avec filezilla et tout fonctionne. Ce que je ne comprends pas, c’est que j’entends ça et là qu’il faut faire les modifications de thème, les ajputs de plugings et le reste via FTP (filezilla?) et non pas directement via le dashboard wordpress.

    Pourtant c’est plus simple d’ajouter les plugings via l’option du dashboard et de faire les modifications directement sur wordpress…

    Non?

    Merci par avance.

  3. rider22

    J’ai supprimé la fonctiondu fichier functions.php via filezilla et tout est revenu à la normale, et tant pis pour les hacker, ma version wordpress sera visible…

    1. Aurélien Denis auteur de l’article

      Il faut toujours éditer du code via un client FTP, jamais via l’administration de WordPress. Et il convient de sauvegarder au préalable les fichiers qui seront modifiés.

  4. rider22

    Bonjour, j’ai copié dans mon fichier functions.php, mis à jour le fichier et après rafraichissement, j’obtiens une magnifique page blanche et je n’ai meme plus accès à ma page wp-admin, je ne peux plus me connecter au tableau de bord wordpress, un coup de main de votre part serait le bienvenu, merci d’avance.

  5. Nunul

    J’ai fait ce que vous avez écrit et j’ai aussi retiré les fichiers readme et install

  6. Nunul

    j’ai fait ce que vous avez dit, mais ça ne fonctionne pas 🙁

    1. Aurélien Denis auteur de l’article

      Qu’avez-vous fait précisément ?

  7. Carte

    Bonjour,

    Etant novice dans le code, pouvez vous m’indiquer où coller la ligne “remove_action(‘wp_head’, ‘wp_generator’);” dans le fichier function ?

    Merci

    1. Aurélien Denis auteur de l’article

      N’importe où du moment que la balise PHP est ouverte. Un éditeur de code avec la coloration syntaxique d’active vous permettra d’identifier rapidement si vous faites erreur ou non.

  8. Naghmeh PASCUAL

    Bonjour,

    Merci pour ce tuto.

    J’ai souhaité supprimer la version de WordPress dans la fichier function.php de mon thème enfant, mais j’ai eu ce message d’erreur quand j’ai utilisé le filtre sur mon site pour trier mes articles :

    Warning: Cannot modify header information – headers already sent by (output started at /homez.341/arche/www/wp-content/themes/portfolio-plus child/functions.php:3) in /homez.341/arche/www/wp-content/plugins/cat-tag-filter-widget/cat-tag-filter.php on line 40

    J’utilise le plugin cat+tag filter avec le theme Portfolio plus.

    Pouvez-vous, svp, me dire ce que je peux faire pour résoudre ce problème ?

    Merci par avance.

    1. Aurélien Denis auteur de l’article

      Incompatibilité avec ce plugin visiblement.

      1. Naghmeh PASCUAL

        Merci pour la réponse.

        Je voudrais préciser que j’ai inséré une zone de Widget en ajoutant ce code dans le header.php :

        et ce code dans le function.php :
        if ( function_exists(‘register_sidebar’) ) {
        register_sidebar(array(
        ‘name’ => ‘MaZoneHeader’,
        ‘before_widget’ => ”,
        ‘after_widget’ => ”,
        ‘before_title’ => ”,
        ‘after_title’ => ”,
        ));
        }

        Est-ce que c’est possible que ces deux codes empêchent votre ligne de code à bien fonctionner ?

        Plugin utilisé : cat+tag filter
        Merci.

        1. Naghmeh PASCUAL

          Code inséré dans le header.php :
          if(!function_exists(‘dynamic_sidebar’)|| !dynamic_sidebar(‘MaZoneHeader’)):endif;

  9. Damien

    Complètement d’accord d’avec BoiteAWeb, la suppression du méta generator ne change rien à l’accessibilité de la version du wordpress. Il reste de nombreuses sources d’informations de cette version, par exemple la lecture du fichier wp-content/languages/fr_FR.po, si celui ci reste accessible en lecture public.

    De même, il reste possible aux “hackers” de tester en aveugle les failles des différentes versions de wordpress sur le site : une sorte de “bruteforce” finalement.

    Les solutions ? Mettre à jour son site le plus régulièrement possible, faire attention aux plugins utilisés (eux aussi sont susceptibles de posséder des failles), faire attention au thèmes Free, avoir des backups quotidiens (pour le pire), et si l’on possède son propre serveur : en prendre le plus grand soin (update, …)

    LE JdN a sorti un article récemment listant les failles connues par versions http://www.journaldunet.com/solutions/dsi/wordpress-et-failles-de-securite-0913.shtml. Si votre version contient des failles vous savez ce qu’il vous reste à faire 😉

  10. alban

    Bonjour,

    Je débute dans wordpress, j’utilise un thème enfant.
    En entrant le code dans le “functions.php” de mon thème enfant, j’ai eu le même problème que vic92.

    Tout est rentré dans l’ordre en rentrant ce code:

    function masquer_version() { return ”; }
    add_filter(‘the_generator’, ‘masquer_version’);

    si ça peut aider.

    et merci pour toutes les infos que m’apporte ce site.

    alban

  11. vic92

    Bonsoir. Je viens de faire la manip’ (J’ai rajouté la ligne dans functions.php par le biais de l’éditeur… ) et… surprise ! Parse error: syntax error, unexpected ‘<' in /homez.151/masqueda/www/wp-content/themes/leaf/functions.php on line 29. C'est planté. Par précaution, j'avais sauvegardé le fichier avant, et j'ai voulu remettre le code initial, mais ça ne change rien. toujours 'parse error'…
    Vu l'un des commentaires précédents, j'ai aussi 'essayé' de fermer la balise php qui n'était manifestement pas fermée, mais… 'parse error'
    Je ne serais pas contre un petit coup de main 😉 merci……………..

    1. vic92

      Désolée pour le côté ‘spam’ de mes 2 commentaires d’affilée… Problème réglé en passant par le FTP. Néanmoins, cela m’intéresserait de savoir ce que j’ai mal fait la première fois pour pouvoir masquer la version de mon site. merci !

    2. Aurélien Denis auteur de l’article

      Comme l’indique l’erreur, il y une balise ouvrante non attendue à la ligne 29 – sans doute était-elle déjà ouverte précédemment. Un éditeur de code avec la coloration syntaxique permet d’éviter ce type de bug. 😉

      1. halim

        je trouve pas : <meta name=”generator” content=”WordPress ” />

        dans header.php !!

        Comment procéder pour supprimer : ??

        Merci

        1. Aurélien Denis auteur de l’article

          Comme l’indique l’article, il y a peu de chance qu’elle soit codée dans le thème. Il faut utiliser la première ligne pour l’enlever.

  12. Saad

    Merci pour l’astuce ! c’est bien important

  13. gsam

    Merci pour cette astuce, par contre j’utilise le thème Twentyeleven de la version 3.4.2.
    Et dans le code source, le css est dynamique : …./admin-bar.css?ver=3.4.2 avec la version apparente !
    Du coup, masquer la version ne sert à rien !!
    Est-il possible de masquer cela également ?

    Merci pour votre réponse !

    1. Julio Potier (BoiteAWeb)

      Garde la version, elle sert au cache et la cacher n’améliore pas la sécu de ton blog.
      Désolé de ne pas vraiment répondre.

  14. kindy

    Salut Aurélien,
    j’ai tenter d’ajouter la ligne de php dans le fichier function.php mais ça me crée une errer de syntaxe.

    Je sais pas ou exactement la mettre si c’est au début ou à la fin merci par avance de aide.

    1. Aurélien Denis auteur de l’article

      Vérifies tes balises PHP ouvrantes et fermantes, elles ne sont pas forcément utiles dans ton code. Un bon éditeur avec coloration syntaxique t’aidera. 😉

  15. BoiteAWeb

    Bonjour
    Cacher sa version de WordPress est inutile car on purra toujours connaitre la version de votre WordPress installé, au moins la version “x.x”, la “x.x.x” peut parfois êtres plus compliquée.
    Alors la cacher peut faire perdre un peu plus de temps à un pirate oui, mais ce n’est pas le faitr de acher la version du site qui empêche un hack 😉
    Aussi si vous souhaitez bannir la lecture de readme.html, vous pouvez le faire via .htaccess, vous l’avez peut-être déjà fait pour wp-config.php, faites la même chose !
    Vous avez ici la technique : https://wpchannel.com/wordpress/tutoriels-wordpress/14-astuces-securiser-site-wordpress/ (astuce #9)
    Bonne journée !

  16. darknote

    déjà il faut toujours maintenir son site à jour,il est plus dangereux de faire tourner son site sous une ancienne version de WordPress que d’une récente,les failles sont plus connues,un site qui tourne sous une version inférieure à WordPress 2.8.4 risque d’attraper un vers.

    Sinon il y a le plugin WP Security Scan qui cache la version de votre WordPress.

  17. nasri matthieu

    j’ai un problème, j’ai fait ce que vous avez dit, et le site ne fonctionne plus: on me dit qu’il y a une erreur dans le fichier functions.php j’utilise le thème thesource de elegantthème

    1. Aurélien Denis auteur de l’article

      Si tu as un problème, enlèves les modifications présentes dans le fichier source. Si tu ne peux plus accéder à ton admin, localises ledit fichier via un client FTP dans /wp-content/themes/NOM_DU_THEME 😉

      1. matt

        merci, mais juste comme ça, ça fait ça à chaque fois que l’on réessaye ou même sur d’autres sites; enfin pour moi ça ne marche pas.
        Une solution ?

  18. Pascal CAMLITI

    Bonjour,
    J’ai testé et cherché mais je n’arrive pas à situer le code dans le index.php ni dans function.php ?
    Dans l’index j’ai cela :

    Une piste SVP ?

    1. Aurélien Denis auteur de l’article

      Chaque thème a ses spécificités…

  19. Boudia

    Il existe des Plugins dépendant de la version de WP.
    Si on la supprime que faire dans ce cas ?

    1. Aurélien Denis auteur de l’article

      Je ne pense pas que cela est un impact car il doit exister d’autres méthodes pour connaitre le numéro de version pour un plugin.

  20. sandrine

    Je vais essayer et si tu ne me vois pas revenir avec 12 000 questions c’est que c’est tout bon :o)

    Merci pour tes articles simples et pragmatiques pour les débutantes comme moi

  21. darky

    En fait cette astuce est effacée à chaque fois qu’on met à jour WordPress…..donc…faudrait automatiser ça 🙂

  22. Doc

    Merci pour l’astuce.

    Très utile 🙂

Laisser un commentaire