Modifier le préfixe de votre base de données WordPress
Nous avons vu ces derniers temps par l’attaque sévère qu’a subit WordPress.com, que nous ne sommes jamais assez à l’abri des pirates. Les nouvelles versions de WordPress sont de plus en plus protégées. Mais si vous avez créé votre blog il y a déjà quelques années. Votre base de données possède probablement des tables dont les préfixes sont wp_. Or il s’avère que ce préfixe offre une porte d’entrée aux personnes malveillantes. Nous allons donc voir comment changer ce préfixe pour être un peu moins vulnérable.
Attention à bien faire une sauvegarde de votre base de données avant de commencer.
-
-
Modification du fichier wp-config.php :
-
Ouvrez votre fichier wp-config.php et cherchez le paragraphe suivant :
1 |
/** |
2 |
* Préfixe de base de données pour les tables de WordPress. |
3 |
* |
4 |
* Vous pouvez installer plusieurs WordPress sur une seule base de données |
5 |
* si vous leur donnez chacune un préfixe unique. |
6 |
* N'utilisez que des chiffres, des lettres non-accentuées, et des caractères soulignés! |
7 |
*/ |
8 |
$table_prefix = 'wp_' ; |
Nous allons commencer par changer le préfixe dans la ligne de code suivante en remplaçant wp par le préfixe de votre choix :
1 |
$table_prefix = 'ubpp2011_' ; |
Il ne faut pas utiliser d’espaces. Par ailleurs, plus le texte sera compliqué plus il sera difficile à pirater.
-
-
Modification des noms des tables de la base de données WordPress :
-
Nous allons maintenant faire quelques modification dans votre base de données en utilisant l’interface de phpMyAdmin.
Lorsque vous aurez ouvert phpMyAdmin, sélectionner dans la colonne de gauche, la base de données de votre blog et vous aurez alors l’affichage de toutes les tables qui composent cette base de données.
Toutes ces tables ont un nom qui commence par wp_. Nous allons remplacer wp_ par le préfixe choisi. Dans mon cas par ubpp2011.
Pour cela allez sur l’onglet SQL et tapez les commandes suivantes :
1 |
RENAME table `wp_commentmeta` TO `ubpp2011_commentmeta`; |
2 |
RENAME table `wp_comments` TO `ubpp2011_comments`; |
3 |
RENAME table `wp_links` TO `ubpp2011_links`; |
4 |
RENAME table `wp_options` TO `ubpp2011_options`; |
5 |
RENAME table `wp_postmeta` TO `ubpp2011_postmeta`; |
6 |
RENAME table `wp_posts` TO `ubpp2011_posts`; |
7 |
RENAME table `wp_terms` TO `ubpp2011_terms`; |
8 |
RENAME table `wp_term_relationships` TO `ubpp2011_term_relationships`; |
9 |
RENAME table `wp_term_taxonomy` TO `ubpp2011_term_taxonomy`; |
10 |
RENAME table `wp_usermeta` TO `ubpp2011_usermeta`; |
11 |
RENAME table `wp_users` TO `ubpp2011_users`; |
En prenant soin de remplacer ubpp2011 par le préfixe que vous aurez choisi.
Il se peut que vous ayez plus de tables dans votre base de données en fonctions des extensions que vous aurez installée sur votre blog.
Il faudra ajouter autant de lignes que de tables à renommer.
-
-
Modification des options de la table wp_options :
-
Celle-ci venant d’être renommée, elle s’appelle maintenant ubpp2011_options dans mon cas.
Sélectionnez cette table dans la colonne de gauche et allez sur la ligne dont l’option_name s’appelle wp_user_roles.
Attention, il y a plusieurs pages sur cette table, et cette ligne n’est pas forcément sur la première page. Lorsque vous aurez trouvé cette ligne, cliquez sur le crayon à gauche pour la modifier.
Dans la cellule de valeur sera écrit wp_user_roles que vous devrez remplacer par ubpp2011_user_roles.
-
Modification des options de la table wp_usermeta :
Celle-ci venant d’être renommée, elle s’appelle maintenant ubpp2011_usermeta dans mon cas.
Sélectionnez cette table dans la colonne de gauche.
Il reste dans cette table 5 lignes qui utilisent encore le préfixe wp. Il faut donc faire la manipulation de changement de préfixe pour chaque ligne ( voir le paragraphe présentant ).
Vous êtes maintenant un peu mieux armé pour lutter contre une attaque.
-6 Commentaires-
Merci pour cette astuce, cela fonctionne à merveille.
Merci, ça m’a bien servi pour installer 2 WordPress en ne disposant que d’une BDD.
Bonjour.
L’article est très pertinent et très bien expliqué. Mais il y a un petit oublie pour les blogs qui ont activé le multi-sites WordPress.
Dans ces cas là, il y a des tables en plus liées à l’installation multi-sites. Dès lors, il faut aussi effectuer ces petites requêtes :
RENAME TABLE wp_blogs TO ubpp2011_blogs;
RENAME TABLE wp_blog_versions TO ubpp2011_blog_versions;
RENAME TABLE wp_registration_log TO ubpp2011_registration_log;
RENAME TABLE wp_signups TO ubpp2011_signups;
RENAME TABLE wp_site TO ubpp2011_site;
RENAME TABLE wp_sitecategories TO ubpp2011_sitecategories;
RENAME TABLE wp_sitemeta TO ubpp2011_sitemeta;
Rien de bien compliqué, il faut juste penser à adapter avec le bon préfixe.
En espérant que ça aide.
Cordialement.
Je comprends pas pourquoi WordPress continue d’utiliser le préfixe par défaut. Ils devraient obliger d’utiliser un préfixe personnalisé à l’installation ou au pire en générer un aléatoirement.
C’est la première chose à faire pour protéger son wordpress et sans aucun doute la plus simple. Pourtant la majorité des sites sous wordpress (et même ceux développés par des pros) ont le préfixe par défaut.
Avant je ne modifiais jamais le préfixe de mes BDD WP. J’ai été hacké une paire de fois par le passé, mais depuis que je le fais à chaque fois je n’ai plus jamais eu de problème. Je ne sais pas si c’est la raison mais j’y crois fortement.