verrou

La base de données MySQL de WordPress stocke l’ensemble des mots de passe utilisateurs dans la table wp_users. Grâce à phpMyAdmin, apprenez à générer de nouveaux mots de passe pour chacun des comptes utilisateurs de votre installation WordPress. Très utile en cas de perte de mot de passe irrécupérable !

Procédure de réinitialisation du mot de passe

Il nous faut dans un premier accéder à phpMyAdmin qui n’est autre que l’outil de gestion des bases de données MySQL via un navigateur Internet.

Pour faire simple, c’est un genre de Microsoft Access.

Ce module est accessible via votre hébergeur, votre plateforme cPanel ou Plesk. Reportez-vous à la documentation de votre hébergeur pour en savoir plus.

Une fois connecté à phpMyAdmin, localisez la table wp_users à partir de la colonne de gauche.

Cliquez dessus pour voir apparaître l’intégralité des comptes utilisateurs de votre site WordPress.

Capture d'écran - Identifiez l'utilisateur WordPress à modifier
Les mots de passe sont cryptés par défaut.

A l’aide de la colonne user_login, identifiez l’utilisateur dont le mot de passe doit être modifié puis cliquez sur l’icône en forme de crayon pour l’éditer.

Dans le champ user_pass, inscrivez votre nouveau mot de passe puis n’oubliez pas de sélectionner MD5 dans la colonne Fonction.

Capture d'écran - Saisie d'un nouveau mot de passe utilisateur
Saisissez votre mot de passe dans le champ user_pass

Validez en cliquant sur le bouton Exécuter.

Votre mot de passe est à présent réinitialisé et vous remarquerez que celui-ci a bien été crypté dans la table des utilisateurs de WordPress.

Retournez ensuite sur votre page de connexion WordPress et saisissez les nouveaux identifiants de connexion. Vous êtes maintenant connecté avec votre nouveau mot de passe !

Étude de cas : droits insuffisants

Ce tutoriel part d’une expérience récente pour le moins désagréable. Suite au piratage d’un site client, l’un des comptes utilisateurs s’était retrouvé sans aucun droit d’administration.

Autrement dit, j’obtenais le traditionnel messageVous n’avez pas les droits suffisants pour accéder à cette page dès lors que je tentais de me connecter. J’ai donc résolu le problème en modifiant le mot de passe d’un autre compte utilisateur qui m’a permis de me connecter sur l’administration WordPress et donc, au final, de réattribuer les pleins pouvoirs au compte administrateur.

Cet exemple d’application n’est là que pour illustrer l’intérêt de connaître une méthode de réinitialisation des mots de passe directement depuis la base MySQL. C’est en apprenant de la sorte que vous gagnerez en sécurité sur votre site WordPress !

Crédits photo : pbkwee

23 commentaires

  1. Est-ce qu’il y a possibilité de voir le mot de passe l’utilisateur inscrit ? Si c’est le cas, je suis pas persuadé du bienfondé de ce procédé.

    1. Non tu ne vois que la clé de cryptage… mais c’est évident que la base de données ne doit pas être accessible de tous.

      Pour rappel, les identifiants de connexion figurent dans le wp-config.php de WordPress.

      Là encore, il ne faut pas donner les accès FTP à tout le monde.

      1. Oui, c’est évident pour la base de données. Mais même pour un webmaster, je trouve normal et logique de ne pas connaître le mot de passe de ses membres.

  2. « J’ai donc résolu le problème en modifiant le mot de passe d’un autre compte utilisateur qui m’a permis de me connecter sur l’administration WordPress et donc, au final, de réattribuer les pleins pouvoirs au compte administrateur. »

    Et sinon, il n’aurait pas été aussi simple de remettre les permissions de l’utilisateur problématique au niveau où il doit être (table wp_usermeta, champ wp_user_level) ?

  3. Bonjour Aurélien,
    Merci pour ce tuto…mais pour mon hébergeur, l’administration de ma base de données se fait pas SQL-BUDDY et non par phpMyAdmin.
    J’ai pu changer le mot de passe d’un des utilisateurs de mon site, mais comme il n’y a pas la fonction MD5, ce dernier n’a pas été crypté. Il est apparu tel quel dans la base.
    Quand j’ai voulu (en tant qu’utilisateur) me reconnecter à WordPress, il a refusé le changement et impossible de se connecter avec ce compte d’utilisateur.

    Comment peut-on l’expliquer cela ?
    Je te remercie d’avance pour ta réponse.

    1. Voir ici, point 5. MD5() est une fonction SQL, donc non spécifique à phpMyAdmin. Donc à moins que SQLBuddy ne permette pas d’exécuter une requête entrée à la main (ce qui serait quand même étonnant), tu peux le faire comme ça.

      1. @Aurélien et @Simon,
        – Tout d’abord, merci pour vos réponses.
        – Apparemment, la fonction MD5() n’est pas supportée dans la version SQL-Buddy en natif sur mon hébergeur: vu que l’hébergeur est gratuit (Zymic), je ne vais pas m’en plaindre davantage.
        – J’ai d’autres sites wordpress hébergés chez des payants surlesquels tourne phpMyAdmin, et alors il n’y a aucun problème, le tutoriel ci-dessus marche nickel.

        Encore merci et bonne journée !

        1. As-tu bien compris mon commentaire ? La méthode donnée sur mon lien permet de réinitialiser un mot de passe en exécutant une simple requête. Je ne connais pas SQL-Buddy, mais il doit bien permettre d’exécuter une requête manuellement non ? Et même si ce n’est pas le cas, il est possible d’exécuter cette requête via un script PHP, ou directement en ligne de commande sur le serveur SQL (si applicable), etc. C’est la solution « ultime », qui ne dépend de rien si ce n’est du serveur SQL.

  4. Bonjour à tous,
    Voilà je me présente je m’appelle Romain, je ne suis pas webmaster, pas informaticien, et mais connaissances sont très limité. (Oufffff, ça part bien… !)
    Je suis actuellement en train de monter une petite plateforme sportive, et je me suis donc lancer dans la création d’un site via wordpress…
    Jusqu’à présent tout ce passer bien.
    Mais je suis resté quelque temps sans m’en occuper, et j’ai complètement oublié identifient et mot de passe.
    J’ai essayé de récupérer un nouveau mot de passe en donnant mon adresse mail, mais WP me dit qu’elle n’existe pas ! (Etrange tout de même…)
    Je cherche donc sur les forums depuis un moment une solution, et j’ai bien compris qu’il fallait utiliser Phpmyadmin.
    Et la commence mon problème, je ne comprends rien, sincèrement, je ne sais pas comment l’installer quelque part, ou bien ce que je dois faire pour arriver jusqu’à la page d’accueil de Phpmyadmin, pour le reste je pense pouvoir m’en sortir seul, met si quelqu’un pouvait m’expliquer comment arriver jusqu’à l’interface de présentation je lui en serais vraiment reconnaissant !
    Merci beaucoup !!!!!!

    1. Bonjour,

      le renvoi de mot de passe via WordPress doit fonctionner en principe… sinon, pour accéder à phpMyAdmin cela dépend de ton hébergeur. Il te faut accéder à la console d’administration et recherchez un module relatif à MySQL ou aux bases de données.

      Consultez l’aide de ton hébergeur qui devrait t’en apprendre davantage.

  5. Bonjour Aurélien,
    Est-ce que l’on peut modifier le nom d’admin d’une base SQL par le même biais, sans que cela plante le site wordpress ?

  6. Bonjour, j’ai installé worrdpress en local grâce à instantwp mais je suis bloqué depuis que j’ai mis un mot de passe pour mysql!
    Je viens de passer des heures sur internet à chercher une solution mais rien!!
    En fait à partir du moment où j’ai mis un mot de passe mysql, plus rien ne fonctionnait, accés impossible à mysql avec le nouveau mot de passe, accés impossible à wordpress (erreur interne Http 500). Sur un forum j’ai vu qu’il fallait supprimer le cache d’internet explorer, ce qui me permet maintenant d’accéder à mysql avec mon mot de passe, mais toujours impossible de se connecter à wordpress…
    Je désespère!! aidez-moi s’il vous plait!

  7. Bonjour Aurélien,
    J’ai actuellement un problème avec mon site woocommerce.
    Dans la partie « Myaccount » la demande d’un mot de passe perdu ne fonctionne pas.
    J’aimerais que la demande soit envoyer sur ma boîte mail, comment faire?
    Merci d’avance pour ta réponse.

  8. Bonjour Aurélien,
    mon mot de passe sur wordpress n’ouvre plus ma session …. j ai donc fait une restauration dans ovh… rien de s’est résolu…. j ai changé le mot de passe de MySQL, mais je n ai pas édité le fichier wp-config.php pour l’indiquer. car je ne sais pas où le trouver…… peux tu me dire où le trouver…
    puis j ai réinitialisé mon mot de passe sur phpMyAdmin en suivant ta procédure mais rien n’y fait ….
    je me sens démunie ! peux tu m’aider s’il te plait! Merci par avance
    Sophie

  9. Le mot de passe WordPress est donc crypté en MD5? Il y a toujours des sites qui utilisent ça? Cela ne rend pas la sécurité faillible!?

    1. @Rija : Les mots de passe WordPress sont hashés (le MD5 est une fonction de hachage et non de cryptage) avec PHPass ( http://www.openwall.com/phpass/ ) ce qui est hui considéré comme sécure, jusqu’à nouvel ordre (comme le récent SSL et Heartbleed).
      Le fait de pouvoir mettre un pass en MD5 en base est une question de facilité, si WordPress détecte que votre mot de passe fait 32 caractères, il estime alors qu’il n’a pas été hashé avec PHPass et va donc se servir de ce hash pour faire le sien (une aspirine ?).
      Lors de la connexion ce pass sera alors hashé correctement, un mot de passe MD5 est bien sûr bien trop faible.

  10. Bonjour @Aurélien !
    J’ai perdu le mot de passe d’accès au back office de mon site internet wordpress, et l’adresse mail de contact ne m’était plus accessible. J’ai donc fait comme tu as dit, j’ai changé le mot de passe et l’adresse mail via phpmyadmin, en sélectionnant MD5 et j’ai exécuté. Pourtant, wordpress continu de me refuser l’accès à mon back office, et quand je clique sur mot de passe oublié, aucun mail ne m’est envoyé… Il y a-t-il un délai pour que ça marche ? Y a-t-il une autre astuce ?
    Je te remercie !
    Lou

  11. Bonjour Aurélien,

    J’ai effectué la manip, mais phpmyadmin me dit que je ne peux pas modifier le mot de passe.

    Erreur. Mysql a répondu : #1142 – UPDATE command denied to user ‘moneinfcv250ebc’@’10.0.120.2′ for table ‘wp_users’

    De plus, sur le panneau d’accès au back office wordpress, quand je dis que j’ai oublié mon mot de passe (donc pour que je reçoive par mail le lien qui me permettrait de le réinitialiser) je ne le reçois jamais, alors que quand je teste ça avec mon autre site, cela fonctionne. C’est très bizarre.. Que puis je faire d’autres ? Car là je n’ai vraiment plus accès à rien alors que je n’ai absolument pas touché à mon id ni à mon mdp..

Laisser un commentaire