🔎 Dezoomer sur le sujet : Connexion à un site WordPress : Admin, SQL, FTP, mot de passe oublié
Vous avez perdu vos accès ou votre site WordPress s’est fait hacker et vous n’avez plus aucun moyen d’accéder à votre interface d’administrateur ? Tant que vous avez accès à votre base de données, il est toujours possible de reprendre le contrôle en injectant un nouvel utilisateur « à la main » !
Avant d’effectuer des opérations sur votre base de données, pensez à toujours faire une sauvegarde !
Voyons étape par étape comment regagner accès à votre back-office WordPress en ajoutant un utilisateur à la base de données.
1. Connectez vous à l’interface PhpMyAdmin de votre base de données
Votre base de données est le plus souvent mise à disposition par votre hébergeur. La plupart des hébergeurs proposent un accès à une interface visuelle pour interagir avec SQL. La solution la plus répandue est PhpMyAdmin.
2. Ajoutez un nouvel utilisateur dans la table wp_users
Une fois que vous êtes sur votre interface PhpMyAdmin, vous aurez une liste des tables SQL existantes. WordPress les a créées automatiquement pour vous. Les utilisateurs sont dans la table wp_users.
Remarquez que votre installation peut avoir un préfixe différent de « wp ». Certains hébergeurs, lors d’installations automatiques, modifient les préfixes. Et c’est grâce à cela que vous pouvez avoir plusieurs sites WordPress utilisant une seule et même base de données.
Dans cet article, on utilisera toujours wp_ comme préfixe. Soyez vigilant, votre préfixe est peut-être différent et il faudra remplacer « wp_ » par votre préfixe partout où vous le lirez ! Pour identifier votre préfixe, regardez ce qu’il y a avant l’underscore ( _ ) dans les noms de vos tables.
- ID : laissez ce champ vide, SQL assignera automatiquement un ID disponible
- user_login : choisissez le nom de l’utilisateur que vous souhaitez ajouter
- user_pass : dans le menu déroulant, choisissez MD5, puis indiquez le mot de passe voulu
- user_nicename : ce champ n’est pas obligatoire
- user_email : renseignez l’e-mail de l’utilisateur, (l’e-mail doit être différent des e-mails utilisés pour les autres utilisateurs)
- user_url : ce champ n’est pas obligatoire
- user_registered : sélectionnez une date passée
- user_activation_key : ce champ n’est pas obligatoire
- user_status : indiquez le chiffre 0
- display_name : ce champ n’est pas obligatoire
Une fois l’utilisateur ajouté, retournez dans la table wp_users pour valider l’ajout. Et notez l’ID assigné à l’utilisateur par SQL, vous en aurez besoin.
3. Ajoutez les informations nécessaires dans la table wp_usermeta
Une fois l’utilisateur ajouté. Il reste à ajouter les meta-données nécessaire pour faire de lui un utilisateur administrateur utilisable. C’est dans la table wp_usermeta que ça se passe.
3.1 Créez la meta donnée wp_capabilities
Dans la table wp_usermeta insérez la meta-donnée wp_capabilities comme suit :
Attention, si votre préfixe de base de données est différent, alors la meta donnée à renseigner est prefixe_capabilities (où « prefixe » correspond à votre préfixe).
- umeta_id : ce champ est à laisser vide
- user_id : renseignez l’ID de l’utilisateur que vous avez créé à l’étape précédente
- meta_key : renseignez wp_capabilities (Ou votreprefixe_capabilities si votre préfixe est différent)
- meta_value : renseignez
a:1:{s:13:"administrator";s:1:"1";}
3.2 Créez la meta donnée wp_user_level
Toujours dans la table wp_usermeta insérez la meta donnée wp_user_level comme suit :
- umeta_id : laissez de champ vide
- user_id : renseignez l’ID de l’utilisateur WordPress que vous venez d’ajouter
- meta_key : renseignez wp_user_level (Ou votreprefixe_user_level si votre préfixe est différent)
- meta_value : renseignez 10
4. Connectez vous à votre back-office WordPress avec votre nouvel utilisateur
Votre nouvel utilisateur administrateur est maintenant injecté dans la base de données et vous devriez pouvoir vous connecter à votre backoffice WordPress en utilisant les informations renseignées.
Si vous aviez perdu les accès suite à un hack, votre nouvel utilisateur ne doit pas être considéré comme sûr pour autant tant que le site internet n’a pas été totalement nettoyé et sécurisé.