No se puede iniciar sesión en mi sitio de WordPress. reauth = 1 bucle de redireccionamiento. ¿Alguna idea sobre cómo solucionar este problema?

15

Tengo algunas dificultades para iniciar sesión en mi sitio de WordPress. Cuando intento visitar example.com/wp-admin, veo una página en blanco y la barra de URL cambia a:

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

Si visito example.com/wp-login.php, solo veo una página en blanco sin ningún cambio en la URL.

He confirmado que esto no es un problema con nada en mi máquina local ya que el comportamiento persiste en múltiples navegadores y dispositivos.

He encontrado numerosas publicaciones en el foro sobre el tema, pero ninguna ofrece una solución satisfactoria.

Ayuda ya que necesito actualizar urgentemente el contenido del sitio.

Actualización: activé la depuración de WordPress y veo el siguiente error

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

Cualquier consejo sobre cómo solucionar esto sería muy apreciado

usuario44754
fuente
3
Borra tus cookies.
Wyck
¿Cuándo fue la última vez que pudo iniciar sesión en WP? wp-admin que redirige a wp-login.php es correcto. ¿Cambiaste algo, por ejemplo, agregar un complemento?
user42826
Pude iniciar sesión la última vez que lo intenté hace un par de días.
Instalé
Comprueba tu htaccess para asegurarte de que no esté inestable.
MikeNGarrett
Si todo lo demás falla, habilite la depuración en wp-config.php define('WP_DEBUG', true);y acceda a wp-admin. Debería poder ver los mensajes de error y por qué está en blanco. Supongo que es un error de complemento si funcionaba anteriormente.
user42826

Respuestas:

10

Tuve el mismo problema ... borrar las cookies no funcionó.

Lo que hizo el truco fue iniciar sesión a través del modo incógnito primero, y luego pude iniciar sesión normalmente.

Daniel
fuente
1
No estoy seguro de por qué esto se rechaza ... después de eliminar el session_token, también utilicé incógnito. También tendré que borrar el caché de Chrome, pero de incógnito ayudó a resolver el problema al resaltar que parte del problema era el navegador. Chrome tiene una caché despiadada y a menudo está en el centro de problemas como este.
Tisch
Votado, funcionó para mí. Extraño.
IAmJulianAcosta
5

Hay muchas causas posibles para este problema. Algunos tienen que ver con su base de datos. Intente encender WP_DEBUG e interpretar los mensajes de error.

En mi propio caso (que es cómo me topé con su pregunta aquí), el problema era escribir un token de sesión en usermeta. Entré en PhpMyAdmin> wp_usermeta> y eliminé el meta_valor para session_token. (Historia detallada aquí https://wordpress.org/support/topic/possible-fix-for-sudden-redirect-loop-at-wp-login-with-reauth1 )

Mengsel
fuente
Esto, junto con la limpieza de la memoria caché del navegador, debería ser la respuesta aceptada.
Tisch
Usé una consulta como esta `UPDATE wp_usermeta SET meta_value = '' WHERE meta_key = 'session_tokens' AND user_id = <myuserid>;
newman
En mi caso, session_tokensni siquiera estaba configurado para mi usuario. O más específicamente, de user_idalguna manera se había cambiado a un número aleatorio. No tengo idea de cómo sucedió. Así que asegúrese de que realmente haya una línea en wp_usermeta con su user_id y meta_key = session_tokens
David
¡Muchas gracias! Me había equivocado con la URL de mi sitio principal en una configuración multisitio de WordPress. Solo pude iniciar sesión en modo de incógnito: eliminar todas las cookies de mi dominio y limpiar el caché no ayudó. Eliminé el valor session_tokensde la wp_usermeta tabla y solucionó mi problema :) ¡Bien hecho señor!
Andrew
2

Esto podría ser causado por una caída de la tabla de WordPress. Configuración define ('WP_DEBUG', verdadero); en wp-config.php le mostrará exactamente qué tabla se ha bloqueado si este es el caso.

Luke Rehmann
fuente
1

Resolví este problema definiendo claves de seguridad en 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',       '');

Por alguna razón estaban vacíos ... Reemplace las cadenas vacías por algunas generadas aquí: https://api.wordpress.org/secret-key/1.1/salt/ (gracias Josh Rodgers)

Nico Prat
fuente
No cadenas de contraseña aleatoria ... WordPress puede regenerar esto para usted aquí: api.wordpress.org/secret-key/1.1/salt
Josh Rodgers
Cambiar las sales de Wordpress funcionó para mí.
Jay
En mi caso, ese valor no está vacío. ¿Debería cambiarlo con el valor en api.wordpress.org/secret-key/1.1/salt ?
Santosa Sandy
Tal vez, intente borrar las cookies, regenere las claves de sal e inicie sesión nuevamente.
Nico Prat
1

Cada vez que tiene un avance de http://mysitea http://mysite/, es probable que esto suceda. En mi caso, tengo un proceso de gestión de httpd que tiene varios hosts virtuales. Uno se configuró así:

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

Cambiar "/blog"para "/blog/"solucionar el problema.

Expiación limitada
fuente
0

También tuve este problema pero tenía un mensaje diferente. Después de trabajar a través de la miríada de correcciones: htaccess, complementos renombrados, tema renombrado, buscó espacio en blanco en wp-config.php, todavía estaba atascado.

Iniciando sesión en PHPMyAdmin Intenté optimizar las tablas, pero un usuario me negó el error. Resultó que la base de datos en sí era demasiado grande y luego 'bloqueada' por el alojamiento compartido. Después de encontrar al culpable principal (una tabla de registro de Wordfence) trunqué eso, esperé 30 minutos y bueno, todo funcionó nuevamente.

¡Pensé que esto podría ayudar a alguien completamente atorado después de probar cualquier otra opción sugerida!

Creativo analítico
fuente
0

Acabo de pasar por lo mismo. No tuve suerte con borrar caché, .htaccess, borrar sesión de DB, deshabilitar complementos de ftp, etc. Pude iniciar sesión con incógnito de Chrome. Después todavía no podía iniciar sesión normalmente. La memoria caché del navegador por sí sola no funcionó, tuve que eliminar específicamente todas las cookies relacionadas con el dominio.

Configuración> Mostrar configuración avanzada> Configuración de contenido>

En Configuración de privacidad, haga clic en el botón "Configuración de contenido"

En Cookies, haga clic en el botón "Todas las cookies y datos del sitio"

Luego busque su sitio web por una palabra clave en el cuadro de búsqueda: resalte su sitio web y haga clic en Eliminar en su teclado.

Haga clic en Listo e intente iniciar sesión en su sitio nuevamente (en modo Normal ... es decir, simplemente salga del modo de incógnito cerrando la ventana)

Si ya tenía el sitio abierto en otra pestaña, recibirá un error de cookie. cierre todas las pestañas, vuelva a abrir, inicie sesión y disfrute

Ed Holtzman
fuente
0

Nada de lo anterior funcionó para mí.

Después de habilitar el modo de depuración:

define('WP_DEBUG', true);

en wp-config.php

El sitio me decía problemas de permisos con el usuario de la base de datos ...

Lo que funcionó para mí fue volver al usuario de la base de datos raíz (en lugar de un usuario 'web' con menos permisos).

Obviamente, no es una solución a largo plazo, pero le brinda algo más para probar que puede funcionar para usted.

Mike rigley
fuente
0

Me gustaría contribuir a la comunidad y también porque este problema era muy molesto. Ninguna de las soluciones funcionó para mí. No instalé ningún complemento antes de que ocurriera, así que definitivamente creo que es un error de Wordpress.

Mis errores exactos: a través del depurador de WP. Después de la pantalla de inicio de sesión apareció una pantalla blanca con este error.

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

A través del registro de errores de 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

Cómo resolví el problema. 1. En DB edité mi contraseña de administrador a contraseña de texto plano. 2. Se agregaron estas líneas de código a pluggable.php. Básicamente ahora WP reconoce contraseñas no hash. Aquí están los extractos editados 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);

... y un poco más bajo

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

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

Espero que esto ayude a alguien, porque googlear no me ayudó.

usuario2047710
fuente
Dado que todo funciona sin problemas hasta hoy, tuve que crear un nuevo blog en mi instalación múltiple y dado que el script necesita agregar un usuario y su contraseña, fue necesario hacer más comentarios para eliminar por completo el hash de contraseña. Sólo para hacerle saber.
user2047710
0

Arreglo esto usando https: // para acceder a mi sitio web en lugar de http: // de esa manera no obtuve ninguna redirección. https://my_website.com/admin También puede cambiar los valores "siteurl" y "home" en la tabla de opciones a través de phpmyadmin en el panel para señalar un https. Soy observador de que esto podría ser un problema con SSL no redirigir correctamente.

Vin Nwaikwu
fuente
0

Experimenté este problema después de migrar mi sitio de un servidor a otro. Después de importar la base de datos al nuevo servidor, no pude iniciar sesión. En el nuevo servidor todavía no había asegurado SSL en el sitio, así que tuve que cambiar el sitio y el hogar en la base de datos.

Reparar

  • Me fijo por ir a la base de datos y cambiar siteurl y el hogar de https://a http://dentro wp_options.

Esto podría ayudar a otros.

Unicco
fuente
0

Intente eliminar la cadena de consulta en la URL ("?" Y todo lo que está detrás), es decir: visite wp-login.php directamente. Funcionó para mi. Intenté cambiar la contraseña, cambiar las sales, borrar meta_value para session_tokens en wp_usermeta. Nada de eso funcionó.

Lo siento, sé que esto no te ayuda, ya que dices que tu pantalla wp-login.php es blanca, pero podría ayudar a alguien que como yo fue atraído por el titular.

usuario63350
fuente
0

Esto me sucedió cuando actualicé mi sitio web a php v7.4. degradar a php 7.3 lo resolvió. Desafortunadamente, no sé cómo mantener la versión y solucionar el problema. Esperemos que pronto los desarrolladores de WP solucionen este problema.

Alon Gouldman
fuente
-1

A mí me pasó después de cambiar la URL del sitio, pero me olvidé de cambiar site_urlen wp_sitemeta. Luego cambié el valor a la nueva URL y resolví el problema.

Ali Borsan
fuente
-1

Solucioné mi problema reemplazando el archivo wp-login.php con uno de otro sitio web donde funcionaba el inicio de sesión.

Kevin
fuente
-2

mi error se debió a la directiva a continuación en el archivo confing de nginx

location ~ \.php$ {

               #fastcgi_hide_header "Set-Cookie"; # Cache page with cookie 
mag8891
fuente