Dépannage WordPress : recréer un user admin via le FTP

Il y a des tas de raisons qui peuvent faire qu’on n’accède plus à son tableau de bord :
- hack
- oubli des mots de passe
- le webmaster a disparu dans la nature
- mon chat a sauté sur le clavier quand je tapais mon mot de passe
Une procédure existe, en passant par phpmyadmin.
- ça donne des sueurs froides à certains
- il est aussi possible qu’on n’ait pas / plus ses accès à phpmyadmin
Pas de panique ! Tant que vous avez accès à votre ftp, un simple fichier (que vous pouvez charger sous forme de .zip ici) va vous permettre de recréer, miraculeusement, un user admin provisoire. L’avantage est que même si vous avez oublié votre mot de passe FTP, vous avez toujours accès au téléchargement de fichier par l’interface de votre hébergeur (OVH, 1&1, etc…)
Vous dézippez et vous trouvez un fichier script_user_creation.php dont voici le contenu :
<?php require_once ( 'wp-config.php' ) ; $userdata = array( 'user_login' => 'temp_admin', 'user_pass' => 'toutouyoutoutou' , 'user_email' => '01@trash.com' , 'role' => 'administrator' ); $user_id = wp_insert_user( $userdata ) ; //On success if( !is_wp_error($user_id) ) { echo "User created : ". $user_id; } ?>
Ce fichier est à télécharger sur votre espace web au même niveau que le wp-config.php
Une fois que vous l’avez téléchargé, vous allez sur la page d’accueil de votre blog, et vous rajoutez, dans la barre d’adresse, /script_user_creation.php
Vous pouvez éventuellement avoir des messages d’erreur cabalistiques, on s’en fiche. L’essentiel est de voir, au bas de la page, ce message “User created : ” suivi d’un chiffre.
Et voilà, il vous suffit de vous connectez en temp_admin avec le mot de passe toutouyoutoutou
Précautions d’usage
Attention : c’est brutal, efficace et absolument pas sécurisé. C’est une solution de dépannage, et il est essentiel :
- de changer “au cas où” les valeurs de login et / ou de mot de passe avant de charger le fichier (vous pouvez l’éditer avec Notepad)
- de supprimer le fichier du FTP immédiatement après utilisation
En cas de non respect de ces consignes, je décline toute responsabilité.
Si il n’y a pas le message User created alors le problème est plus grave. Il faut consulter :)
(Charly, le beau chat roux sur le clavier appartient à DanR qui partage sa photo sous licence CC BY NC SA)
Bonsoir, je me garde cette solution sous le coude au cas où. J’espère ne pas avoir à l’utiliser mais c’est rassurant de savoir qu’il y a une solution “accessible” dans le cas où l’accès au panneau d’administration est compromis. Encore une fois appris quelque chose en lisant un article ici :)
Bonjour,
alors cette astuce là, je me la mets en favori… cela m’est déjà arrivé de perdre beaucoup suite à un problème d’accès à la BDD et comme on ne fait jamais assez souvent de sauvegarde. J’aurais probablement pu mieux m’en tirer si j’avais pensé à ca.
Encore merci.
Très bien mais n’est-il pas difficile pour des novices angoissés de se souvenir du mot de passe toutouyoutoutou ?
Le novice angoissé a la possibilité de le remplacer par ce qu’il veut, et puis il peut le noter sur un post-it !
Hello
J’avoue préférer mon script Backdoor User qui fait plus de choses et plus secure.
;)
:D c’est vrai tu aurais pu mettre l’url
http://boiteaweb.fr/plugin-backdoor-user-3311.html
(Je croyais que tu déjeunais ? ^^)
Alors une question bête….
Un rigolo ne pourrait pas utiliser ce truc sur un site quelconque pour changer les mots de passe admin? (ou mieux créér un compte supplémentaire discret ?
Amitiés, nono
Sur un site quelconque à condition d’avoir accès au FTP, donc au fichier wp-config.php, donc aux identifiants de base de données…
En gros, oui, si on a accès au coffre-fort, on peut piquer dedans :D
Ok,.
Donc super truc bravo ! et merci !
Merci Marie-Aude !
Très précieux au cas où !
Bonnes vacances
Une fois, pour dupliquer un site dont je n’avais plus le mot de passe du compte admin, j’ai été au plus simple : j’ai directement modifié le champ correspondant de la table dans la base de données en passant par PHPMyAdmin. Par précaution, j’avais fait un copier-coller du champ avant la modification. Et j’ai simplement supprimé la valeur du champ.
Résultat : un compte sans mot de passe ! Que j’ai bien sur ressaisi après connexion.
Je ne sais pas si c’est la méthode la plus recommandable ni même la plus stable. Mais elle a fonctionné :-) Bon, il faut connaitre les compte / mot de passe de la base de données, savoir se servir de PHPMyAdmin et ne pas avoir peur de mettre les mains dans le cambouis. Mais pour qui sait le faire, ça me semble pas mal.
Qu’en pensez-vous ?
Que comme vous dites “il faut” (et dans ce cas, il faut aussi saisir le mot de passe dans la base de données) et que le truc donné dans cet article est pour ceux qui n’ont pas ces infos. Sinon le tuto complet pour récupérer ses mots de passe est là : http://www.wordpress-fr.net/faq/jai-oublia-le-mot-de-passe-administrateur-comment-le-rainitialiser/
(y compris pour avoir un mot de passe, ça peut toujours servir )
Que ce soit par PHPMyAdmin ou par FTP, il faut quand même connaitre un couple compte / mot de passe. Moi, c’est celui pour accéder à la base de données, vous c’est pour accéder au FTP. Parce que le script PHP, il faut bien déposer sur le serveur par FTP, non ?
Je proposais un mode opératoire alternatif :-)
Par contre, je ne connaissais pas la fonction MD5 directement depuis PHPMyAdmin. Merci pour la découverte :-)
Certes, c’est ce qui est dit en haut…. l’identifiant ftp est généralement plus facile à obtenir de la personne paumée que l’identifiant phpmyadmin :)
Totalement génial. Merci. Tu viens de me sauver d’une méga crise de nerf!
Je vous remercie énormément
Le script m’a sauvé effectivement il y avait un isurpateur
Merci beaucoup
Merci beaucoup !
Comme d’autres vous m’avez sauvée.