Impossible de se connecter à mon site wordpress. reauth = 1 boucle de redirection. Des idées pour résoudre le problème?


15

J'ai de la difficulté à me connecter à mon site WordPress. Lorsque j'essaie de visiter example.com/wp-admin, je vois une page vierge et la barre d'URL se transforme en:

http://example.com/wp-login.php?redirect_to=http%3A%2F%2Fmysite.com%2Fwp-admin%2F&reauth=1

Si je visite example.com/wp-login.php, je ne vois qu'une page blanche vierge sans aucune modification de l'URL.

J'ai confirmé que ce n'est pas un problème avec quoi que ce soit sur ma machine locale car le comportement persiste sur plusieurs navigateurs et appareils.

J'ai trouvé de nombreux messages sur le problème sur le forum, mais aucun n'offre une solution satisfaisante.

Aidez-moi car j'ai un besoin urgent de mettre à jour le contenu du site.

Mise à jour: j'ai activé le débogage WordPress et je vois l'erreur suivante

Fatal error: Cannot redeclare check_password_reset_key() 
(previously declared in /home/wordpress/public_html/wp-login.php:281) 
in /home/wordpress/public_html/wp-includes/user.php on line 1637

Tous les conseils sur la façon de résoudre ce problème seraient grandement appréciés


3
Supprimez vos cookies.
Wyck

À quand remonte la dernière fois que vous avez pu vous connecter à WP? La redirection wp-admin vers wp-login.php est correcte. Avez-vous changé quelque chose, par exemple en ajoutant un plugin?
user42826

J'ai pu me connecter la dernière fois que j'ai essayé il y a quelques jours. J'ai installé un plugin mais je l'ai supprimé et le problème persiste
user44754

Vérifiez votre htaccess pour vous assurer qu'il n'est pas bancal.
MikeNGarrett

Si tout le reste échoue, activez le débogage dans wp-config.php define('WP_DEBUG', true);et accédez à wp-admin. Vous devriez pouvoir voir les messages d'erreur et pourquoi ils sont vides. Je suppose que c'est une erreur de plugin si cela fonctionnait auparavant.
user42826

Réponses:


10

Eu le même problème ... effacer les cookies n'a pas fait l'affaire.

Qu'est-ce que l'astuce a été de me connecter via le mode navigation privée d'abord, puis j'ai pu me connecter normalement.


1
Je ne sais pas pourquoi cela est rétrogradé ... après avoir supprimé le session_token, j'ai également utilisé la navigation privée. Je devrai également vider le cache Chrome, mais incognito a aidé à résoudre le problème en mettant en évidence une partie du problème était le navigateur. Chrome a un cache impitoyable et est souvent au centre de problèmes comme celui-ci.
Tisch

Voté, cela a fonctionné pour moi. Bizarre.
IAmJulianAcosta

5

Il existe de nombreuses causes possibles à ce problème. Certains ont à voir avec votre base de données. Essayez d'activer WP_DEBUG et d'interpréter les messages d'erreur.

Dans mon propre cas (c'est ainsi que je suis tombé sur votre question ici), le problème était d'écrire un jeton de session dans usermeta. Je suis allé dans PhpMyAdmin> wp_usermeta> et j'ai supprimé la méta_value pour session_token. (Histoire détaillée ici https://wordpress.org/support/topic/possible-fix-for-sudden-redirect-loop-at-wp-login-with-reauth1 )


Ceci ainsi que l'effacement du cache de votre navigateur devrait être la réponse acceptée.
Tisch

J'ai utilisé une requête comme celle-ci `UPDATE wp_usermeta SET meta_value = '' WHERE meta_key = 'session_tokens' AND user_id = <myuserid>;
newman

Dans mon cas, session_tokensn'était même pas défini pour mon utilisateur. Ou plus précisément, le user_idavait en quelque sorte été changé en un nombre aléatoire. Je ne sais pas comment cela s'est passé. Assurez-vous donc qu'il y a réellement une ligne dans wp_usermeta avec votre user_id et meta_key = session_tokens
David

Grand merci! J'avais gâché l'URL de mon site principal dans une configuration multisite wordpress. Je n'ai pu me connecter qu'en mode navigation privée - la suppression de tous les cookies de mon domaine et le nettoyage du cache n'ont pas aidé. J'ai supprimé la valeur session_tokensde la wp_usermeta table et cela a résolu mon problème :) Bravo monsieur!
Andrew

2

Cela pourrait être dû à un crash de la table wordpress. Réglage define ('WP_DEBUG', true); dans le wp-config.php vous montrera exactement quelle table s'est bloquée si c'est le cas.


1

J'ai résolu ce problème en définissant des clés de sécurité dans wp-config.php:

define('AUTH_KEY',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '');
define('NONCE_SALT',       '');

Pour une raison quelconque, ils étaient vides ... Remplacez les chaînes vides par certaines générées ici: https://api.wordpress.org/secret-key/1.1/salt/ (merci Josh Rodgers)


Pas de chaînes de type mot de passe aléatoire ... WordPress peut régénérer cela pour vous ici: api.wordpress.org/secret-key/1.1/salt
Josh Rodgers

Changer les sels de Wordpress a fonctionné pour moi.
Jay

Dans mon cas, cette valeur n'est pas vide. dois-je le changer avec la valeur dans api.wordpress.org/secret-key/1.1/salt ?
Santosa Sandy

Essayez peut-être de supprimer les cookies, de régénérer les clés de sel et de vous reconnecter.
Nico Prat

1

Chaque fois que vous avez un renvoi de http://mysiteà http://mysite/, cela est inévitable. Dans mon cas, j'ai un processus de gestion httpd en cours d'exécution qui a plusieurs hôtes virtuels. On a été configuré ainsi:

<VirtualHost *:*>
    ServerName mysite.com
    ProxyPass "/blog" "http://bloghtml/blog/"
    ProxyPreserveHost On
</VirtualHost>

Changer "/blog"pour "/blog/"résoudre le problème.


0

J'ai également eu ce problème mais j'avais un message différent. Après avoir travaillé sur la myriade de correctifs: htaccess, plugins renommés, thème renommé, vérifié l'espace vide dans wp-config.php j'étais toujours bloqué.

En me connectant à PHPMyAdmin, j'ai essayé d'optimiser les tables mais un utilisateur a refusé une erreur. Il s'est avéré que la base de données elle-même était surdimensionnée puis «bloquée» par l'hébergement partagé. Après avoir trouvé le principal coupable (une table de journal Wordfence), j'ai tronqué cela, j'ai attendu 30 minutes et bon, tout a fonctionné à nouveau.

Je pensais que cela pourrait aider quelqu'un d'autre complètement coincé après avoir essayé toutes les autres options suggérées!


0

Je viens de vivre cette même chose. Pas de chance pour effacer le cache, .htaccess, effacer la session DB, désactiver les plugins ftp, etc. J'ai pu me connecter avec Chrome incognito. Par la suite, je n'ai toujours pas pu me connecter normalement. Le cache du navigateur seul ne fonctionnait pas, j'ai dû supprimer spécifiquement tous les cookies liés au domaine.

Paramètres> Afficher les paramètres avancés> Paramètres de contenu>

Sous Paramètres de confidentialité, cliquez sur le bouton "Paramètres de contenu"

Sous Cookies, cliquez sur le bouton «Tous les cookies et les données du site»

Ensuite, recherchez votre site Web par un mot-clé dans la zone de recherche: sélectionnez votre site Web et cliquez sur Supprimer sur votre clavier.

Cliquez sur Terminé et essayez de vous connecter à nouveau à votre site (en mode Normal .. c.-à-d. Quittez simplement le mode Incognito en fermant la fenêtre)

Si le site était déjà ouvert dans un autre onglet, vous obtiendrez une erreur de cookie. fermez tous les onglets, rouvrez, connectez-vous et profitez


0

Rien de ce qui précède n'a fonctionné pour moi.

Après avoir activé le mode de débogage:

define('WP_DEBUG', true);

dans wp-config.php

Le site me disait des problèmes de permission avec l'utilisateur de la base de données ...

Ce qui a fonctionné pour moi, c'est de revenir à l'utilisateur de la base de données racine (plutôt qu'à un utilisateur «Web» avec moins d'autorisations).

Évidemment, ce n'est pas une solution à long terme, mais vous donne quelque chose d'autre à essayer qui pourrait fonctionner pour vous.


0

Je voudrais contribuer à la communauté et aussi car ce problème était très ennuyeux. Aucune de la solution n'a fonctionné pour moi. Je n'ai pas installé de plugins avant que cela ne se produise, donc je pense que c'est un bug Wordpress!

Mes erreurs exactes: via le débogueur WP. Après l'écran de connexion, un écran blanc est apparu avec cette erreur.

 Fatal error: Class 'PasswordHash' not found in /var/www/public_html/example.net/wp-includes/pluggable.php on line 2079

Via le journal des erreurs apache.

PHP Fatal error:  Class 'PasswordHash' not found in /var/www/public_html/example.net/wp-includes/pluggable.php on line 2138, referer: http://example.net/wp-login.php?redirect_to=http%3A%2F%2Fexample.net%2Fwp-admin%2F&reauth=1

Comment j'ai résolu le problème. 1. Dans DB, j'ai modifié mon mot de passe administrateur en mot de passe en texte brut. 2. Ajout de ces lignes de code à pluggable.php. Fondamentalement, WP reconnaît désormais les mots de passe non hachés. Voici les extraits édités de pluggable.php

function wp_check_password($password, $hash, $user_id = '') {
<------>global $wp_hasher;

<------>//20170713 Added by Stefan
<------>$check=($hash==$password);
<------>return apply_filters('check_password', $check, $password, $hash, $user_id);

... et un peu plus bas

function wp_set_password( $password, $user_id ) {
<------>global $wpdb;

<------>//$hash = wp_hash_password( $password );
<------>//20170713 Changed by Stefan
<------>$hash=$password;

J'espère que cela aide quelqu'un, car la recherche sur Google ne m'a pas aidé.


Étant donné que tout se déroule bien jusqu'à aujourd'hui, j'ai dû créer un nouveau blog dans ma multi-installation et puisque le script doit ajouter un utilisateur et son mot de passe, un peu plus de commentaires était nécessaire pour éliminer complètement le hachage de mot de passe. Juste pour que tu saches.
user2047710


0

Je corrige cela en utilisant https: // pour accéder à mon site Web au lieu de http: // de cette façon, je n'ai reçu aucune redirection. https://my_website.com/admin Vous pouvez également modifier les valeurs "siteurl" et "home" dans le tableau d'options via phpmyadmin dans le panneau pour pointer vers un https. Je suis conscient que cela pourrait être un problème avec ssl ne redirigeant pas correctement.


0

J'ai rencontré ce problème après avoir migré mon site d'un serveur à un autre. Après avoir importé la base de données sur le nouveau serveur, je n'ai pas pu me connecter. Sur le nouveau serveur, je n'avais pas encore sécurisé le site SSL, j'ai donc dû changer le siteurl et la maison dans la base de données.

Réparer

  • Je l' ai fixé en allant à la base de données et le changement siteurl et la maison de https://à l' http://intérieur wp_options.

Cela pourrait aider les autres.


0

Essayez de supprimer la chaîne de requête dans l'URL ("?" Et tout ce qui se trouve derrière) - c'est-à-dire: visitez wp-login.php directement. Ça a marché pour moi. J'ai essayé de changer le mot de passe, de changer les sels, d'effacer les méta_valeurs pour les session_tokens dans wp_usermeta. Rien de tout cela n'a fonctionné.

Désolé, je sais que cela ne vous aide pas, car vous dites que votre écran wp-login.php est blanc, mais cela pourrait aider quelqu'un qui m'aime à être attiré ici par le titre.


0

cela m'est arrivé lorsque j'ai mis à niveau mon site Web vers php v7.4. la rétrogradation vers php 7.3 l'a résolu. Malheureusement, je ne sais pas comment conserver la version et résoudre le problème. Avec un peu de chance, les développeurs WP vont résoudre ce problème.


-1

Il me est arrivé après avoir changé l' URL du site , mais j'ai oublié de changer site_urldans wp_sitemeta. Ensuite, j'ai changé la valeur pour la nouvelle URL et le problème a été résolu.


-1

J'ai résolu mon problème en remplaçant le fichier wp-login.php par un autre site Web sur lequel la connexion fonctionnait.


-2

mon erreur était due à la directive ci-dessous dans le fichier de configuration nginx

location ~ \.php$ {

               #fastcgi_hide_header "Set-Cookie"; # Cache page with cookie 
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.