[WordPress] La vraie bonne manière de supprimer le numéro de version
Dès qu’un blog commence à avoir un peu de succès, il devient la cible des spammers, puis plus tard des hackers.
WordPress est l’une des plateforme de blogging les plus populaires. A ce titre, elle concentre bon nombre d’attaques.
Par défaut, WordPress publie sur votre site la version du moteur (par exemple 2.9.1) qui le propulse. Ceci a pour but de compter le nombre de blog utilisant la plateforme et dans quelle version.
Mais cette publication a un gros inconvénient : un hacker peut connaitre la version que vous utilisez et se servir de failles connues de la dite version pour prendre le contrôle de votre blog, surtout si elle n’est pas à jour.
Il est donc recommandé de supprimer cette information. Il existe plusieurs techniques mais une seule est 100% efficace.
Suppression dans le header
On voit parfois une technique simple qui permet, a priori, de supprimer la version dans le code HTML produit.
Il suffit de supprimer la ligne suivante dans le code du fichier header.php
de votre thème.
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
Suppression de l’insertion dans le header
D’autres recommandent de supprimer l’insertion de la ligne ci-dessus, en utilisant un hook
.
Il faut alors ajouter le code suivant dans le fichier functions.php
de votre thème.
remove_action('wp_head', 'wp_generator');
Limites de ces techniques
Bien que fonctionnant en apparence, ces deux techniques souffrent du même problème : elles ne vont supprimer la version que dans le code HTML source généré par le moteur, dans le section <head>.
Mais un hacker qui connait un peu mieux WordPress, pourra tirer parti de votre flux RSS, qui lui continuera de publier la version de votre plateforme WordPress.
LA solution
La solution consiste à berner le moteur en lui faisant afficher n’importe quoi, quel que soit l’endroit : j’ai choisi websourcing-custom-version
, mais vous pouvez mettre ce que vous voulez (-1, fuck-you-hackers, …).
Le code qui suit est à insérer dans le fichier functions.php
:
function remove_wordpress_version() { return 'websourcing-custom-version'; } add_filter('the_generator', 'remove_wordpress_version');
Malgré tout, cette technique n’est à réserver que si vous ne pouvez pas mettre à jour votre version (si vous avez personnalisé certaines choses incompatibles avec la dernière version).
N’oubliez pas également de protéger votre blog contre les intrusions en bloquant les attaques par bruteforce.
via