Comment récupérer l'accès à WordPress Admin sans nom d'utilisateur ni mot de passe

Publié: 2018-10-02

C'est un cauchemar de ne pas pouvoir se connecter à votre site WordPress. Vous êtes sûr d'avoir le bon mot de passe, vous avez même essayé de réinitialiser le mot de passe, mais rien n'y fait. Vous êtes bloqué sur votre site. Heureusement, il existe des méthodes rapides pour récupérer l'accès en modifiant quelques enregistrements de base de données ou quelques fichiers via FTP. Tant que vous avez un accès aux ressources sous-jacentes du serveur, vous serez de retour dans l'administration WP en un rien de temps.

Ce guide vous aidera dans les situations suivantes :

  • l'option de réinitialisation du mot de passe ne fonctionne pas
  • la réinitialisation du mot de passe fonctionne mais vous ne recevez pas l'e-mail (pour une raison quelconque)
  • vous connaissez le nom d'utilisateur et le mot de passe, mais cela ne fonctionne tout simplement pas
  • vous avez bousillé les privilèges du compte
  • les utilisateurs ou la table de base de données usermeta sont corrompus ou accidentellement modifiés/supprimés
  • un plugin/thème a gâché quelque chose lié à la connexion

Pour que les méthodes de ce guide fonctionnent, vous n'avez besoin que d'une des choses suivantes :

  • Accès FTP au serveur, ou
  • accès cPanel au serveur, ou
  • accès à la base de données MySQL

Aider! je ne peux pas me connecter!

Il existe un nombre illimité de raisons pour lesquelles vous ne pouvez pas vous connecter. Un nom d'utilisateur ou un mot de passe erroné est l'explication la plus simple, mais je ne recommande pas de s'appuyer sur cette prémisse. Surtout si vous savez que vous avez déconné avec WordPress et que la connexion ne fonctionne pas à cause de cela. La première étape pour résoudre le problème est de désactiver le thème et tous les plugins. Pour cela, nous n'avons pas besoin d'un accès administrateur, et l'action ne « détruira » rien. C'est complètement réversible.

Cela peut être fait de plusieurs manières, en utilisant FTP, MySQL ou en utilisant le script de récupération d'urgence fourni avec le plugin WP Reset. Et puisque la dernière est la solution la plus simple, nous allons d'abord la couvrir.

WP Reset est un outil incroyable destiné à faciliter vos tâches de réinitialisation, de débogage et de test. Il est livré avec une tonne de fonctionnalités, notamment plusieurs options de réinitialisation et, bien sûr, le script de récupération d'urgence.

Plug-in de réinitialisation WP

À l'aide du script de récupération d'urgence, vous pourrez désactiver vos plugins (un par un ou en masse) et votre thème sans accéder au tableau de bord d'administration de WordPress.

Section plugins ERS

Non seulement cela, mais vous devrez également créer un nouveau compte administrateur, mettre à jour WordPress et l'URL du site, réinitialiser les privilèges et les rôles des utilisateurs, et réanalyser ou réinstaller les fichiers principaux depuis l'extérieur de l'administrateur WordPress. Vraiment impressionnant !

Passons maintenant aux autres méthodes.

Si vous avez un accès FTP, renommez les dossiers /wp-content/plugins/ et /wp-content/themes/. N'importe quel nouveau nom fera l'affaire ; ajoutez simplement un "x" devant le nom.

Si vous avez accès à MySQL, ouvrez la table des options (la table aura un préfixe, c'est-à-dire wp_options) et recherchez les lignes dont la colonne option_name est définie sur active_plugins et current_theme. Supprimez les deux lignes ou modifiez leurs valeurs option_name afin de pouvoir facilement revenir en arrière plus tard. WP reviendra au thème par défaut (Twenty Seventeen pour les versions antérieures à la v5) s'il est disponible à l'emplacement par défaut.

Revenez à wp-login.php , actualisez la page et essayez de vous connecter. Cela ne fonctionne toujours pas ? Continuer à lire.

Prenez une minute pour comprendre l'approche la plus simple

Si vous n'avez pas du tout joué avec WordPress ou votre compte et que vous êtes convaincu que le problème vient simplement du mauvais nom d'utilisateur ou du mauvais mot de passe, prenez la route MySQL. Changer le mot de passe dans la base de données est tout ce qu'il faut pour retrouver l'accès.

Si vous n'avez pas de compte du tout ou si vous avez des raisons de croire que vous vous êtes trompé, alors l'approche FTP fonctionne mieux car nous devrons créer un nouveau compte. Un résultat positif est réalisable à la fois avec un accès FTP ou MySQL, alors ne vous inquiétez pas si vous n'en avez qu'un de disponible.

Si vous avez accès à WP-CLI pour votre site, vous n'avez pas besoin de vous soucier des fichiers ou des bases de données. La commande wp user vous donnera plus qu'assez d'outils pour réparer un compte ou en créer un nouveau.

Se connecter sans nom d'utilisateur ni mot de passe - La méthode MySQL

Pour qu'un compte WP fonctionne, certaines choses doivent être correctement alignées. WP recherche le nom d'utilisateur et le mot de passe haché dans la table des utilisateurs et s'il trouve une ligne, il continuera à rechercher des lignes supplémentaires dans la table usermeta. Il en a besoin pour déterminer les privilèges de votre compte. Si l'une des choses mentionnées ci-dessus échoue, vous ne pourrez pas vous connecter ou vous le ferez, mais pas avec les bons privilèges. En raison des filtres et des actions de WordPress, n'importe quel nombre de plugins et de thèmes peut modifier ce processus et rendre le débogage beaucoup plus difficile. C'est pourquoi j'ai déjà conseillé de les désactiver tous.

Je mentionnerai également la possibilité d'exécuter une classe WP DB personnalisée via un drop-in. Un bogue qui peut aussi être le coupable. Pour vous assurer que vous n'exécutez aucun drop-ins, renommez le dossier /wp-content/mu-plugins/ . Si vous ne trouvez pas ce dossier, c'est parfait ! Cela signifie que vous n'avez aucun drop-in actif.

phpMyAdmin est un outil décent pour modifier ou ajouter quelques lignes dans la base de données de WP. La plupart des gens y accèdent via cPanel car il est préinstallé et vous n'avez pas à saisir à nouveau les informations d'identification. Pour rappel, cPanel est disponible sur https://votresite.com:2083. Si cela ne vous est pas disponible, mais que vous disposez du nom d'utilisateur, du mot de passe de la base de données et de la possibilité de vous y connecter à partir d'un hôte distant, je vous suggère d'installer l'application gratuite HeidiSQL et de vous connecter à l'aide de ces informations. Le nom d'utilisateur et le mot de passe enregistrés dans wp-config.php fonctionnent certainement si votre WP fonctionne, mais peuvent rarement être utilisés pour se connecter à MySQL à partir d'un hôte distant en raison de restrictions de sécurité. La configuration dépend du serveur et il est impossible de donner des conseils généraux.

Vous n'arrivez pas à vous connecter à votre site #WordPress ? Le nom d'utilisateur et le mot de passe ne fonctionnent tout simplement pas ? Voici quelques méthodes simples pour récupérer l'accès sans nom d'utilisateur ni mot de passe.

CLIQUEZ POUR TWEETER

Modifier quelques lignes de la base de données

Recherchez votre compte dans le tableau des utilisateurs. Encore une fois - la table a toujours un préfixe. Par défaut, c'est wp_users, mais ça peut être n'importe quoi ; c'est-à-dire : site765_users. En supposant que seul le mot de passe est erroné, modifiez la colonne user_pass et entrez un nouveau mot de passe haché (utilisez uniquement MD5). Le hachage du mot de passe "123456" est e10adc3949ba59abbe56e057f20f883e mais je vous recommande fortement d'utiliser un mot de passe plus décent et de générer un hachage pour celui-ci. Enregistrez la ligne et essayez de vous connecter. Pas de chance? Vérifions les privilèges.

Notez votre identifiant de compte – visible dans le tableau des utilisateurs, sous la colonne id. Recherchez ensuite toutes les lignes de la table usermeta qui ont cette valeur id pour la colonne user_id (clé). Vous pouvez vous attendre à trouver plus de 10 lignes, mais celles dont nous avons besoin sont celles avec les valeurs wpc_capabilities et wpc_user_level dans les colonnes meta_key. Définissez le premier sur a:1:{s:13:"administrator";b:1;} et le second sur 10 . Enregistrez, essayez de vous connecter. Toujours pas de chance ? Dans ce cas, je suggère de créer un nouveau compte administrateur, ce qui est plus facile à faire via FTP.

Si FTP n'est pas disponible pour vous, imitez les données du compte dont vous disposez déjà pour en créer un nouveau. Assurez-vous qu'il a un nom d'utilisateur et une adresse e-mail uniques et que vous créez les deux enregistrements dans la table usermeta mentionnée ci-dessus. C'est tout ce qu'il faut pour créer un compte directement dans la base de données.

Se connecter sans nom d'utilisateur ni mot de passe - La méthode FTP

La première et cruciale étape de cette méthode consiste à trouver le fichier functions.php du thème actif. Si vous avez renommé le dossier /wp-content/themes/, renommez-le et ne laissez que le thème Twenty Seventeen dedans. Tout autre thème fera également l'affaire, mais assurez-vous qu'il ne dispose d'aucune fonctionnalité de connexion personnalisée susceptible de provoquer des bogues.

Après avoir localisé le fichier functions.php , testez pour vous assurer que vous avez le bon. Faites-moi confiance sur celui-ci - j'ai perdu des heures à éditer le mauvais fichier. Ajouter die('It works!'); comme première ligne PHP du fichier ; enregistrer et actualiser le site. Si rien ne change, vous avez le mauvais fichier. Annulez le changement et trouvez le bon. Une fois que vous l'avez, ajoutez ce code au début du fichier ;

// modify these two lines
$user_email = '[email protected]';
$user_password = '123456';

if ( !username_exists( $user_email ) ) {
  $user_id = wp_create_user( $user_email, $user_password, $user_email );

  wp_update_user( array( 'ID' => $user_id, 'nickname' => $user_email ) );

  $user = new WP_User( $user_id );
  $user->set_role( 'administrator' );
  wp_die( 'Success!' );
} else {
  wp_die( 'Username already exists.' );
}

Modifiez les deux premières lignes du code, enregistrez le fichier et rechargez le site. "Succès!" devrait apparaître à l'écran et vous pourrez ensuite vous connecter avec le nouveau nom d'utilisateur et le nouveau mot de passe ; ceux que vous avez définis dans les deux premières lignes du code. N'oubliez pas de supprimer le code de functions.php une fois que vous avez terminé.

Autres méthodes pour récupérer l'accès à WordPress

Si vous avez un accès FTP, MySQL ou cPanel, les méthodes ci-dessus vous permettront de vous connecter. Sinon, assurez-vous de laisser un commentaire ci-dessous. Je serais curieux de savoir ce qui vous empêche de vous connecter.

Une "petite chose" courante qui cause des problèmes à certaines personnes est de ne pas ouvrir wp-login.php sur la bonne URL. Soit en utilisant "www" lorsqu'il n'est pas défini comme adresse du site ou vice-versa. Ou ne pas utiliser le bon protocole - HTTPS au lieu de HTTP et vice-versa. Bien que la page puisse se charger, cela ne signifie pas que vous êtes sur la bonne URL, alors vérifiez-la.

Si vous êtes venu ici pour apprendre à pirater WordPress, désolé, pas ce genre d'article . En ayant un accès FTP ou MySQL, je suppose que vous êtes un propriétaire légitime et que vous n'utiliserez pas les méthodes décrites à des fins malveillantes.