Cómo recuperar el acceso al administrador de WordPress sin un nombre de usuario o contraseña

Publicado: 2018-10-02

Es una pesadilla no poder iniciar sesión en su sitio de WordPress. Está seguro de que tiene la contraseña correcta, incluso intentó restablecer la contraseña, pero nada funciona. Está bloqueado de su sitio. Afortunadamente, existen métodos rápidos para recuperar el acceso modificando algunos registros de la base de datos o algunos archivos a través de FTP. Siempre que tenga acceso a los recursos del servidor subyacente, volverá al administrador de WP en poco tiempo.

Esta guía le ayudará en las siguientes situaciones:

  • la opción de restablecer contraseña no funciona
  • restablecer la contraseña funciona pero no recibe el correo electrónico (por el motivo que sea)
  • conoces el nombre de usuario y la contraseña, pero simplemente no funciona
  • has estropeado los privilegios de la cuenta
  • Los usuarios o la tabla de la base de datos usermeta están corruptos o accidentalmente modificados/eliminados
  • un complemento/tema ha estropeado algo relacionado con el inicio de sesión

Para que los métodos de esta guía funcionen, solo necesita una de las siguientes cosas:

  • Acceso FTP al servidor, o
  • acceso cPanel al servidor, o
  • acceso a la base de datos MySQL

¡Ayudar! ¡No puedo iniciar sesión!

Hay un número ilimitado de razones por las que no puede iniciar sesión. El nombre de usuario o la contraseña incorrectos es la explicación más simple, pero no recomiendo confiar en esa premisa. Especialmente si sabes que te metiste con WordPress y el inicio de sesión no funciona como resultado de eso. El primer paso para solucionar el problema: deshabilite el tema y todos los complementos. Para eso, no necesitamos acceso de administrador, y la acción no "destruirá" nada. Es completamente reversible.

Esto se puede hacer de varias maneras, usando FTP, MySQL o usando el script de recuperación de emergencia que viene con el complemento WP Reset. Y dado que la última es la solución más fácil, la cubriremos primero.

WP Reset es una herramienta increíble destinada a facilitar las tareas de reinicio, depuración y prueba. Viene con un montón de características que incluyen múltiples opciones de reinicio y, por supuesto, el script de recuperación de emergencia.

Complemento de reinicio de WP

Con el script de recuperación de emergencia, podrá desactivar sus complementos (uno por uno o en bloque) y el tema sin acceder al panel de administración de WordPress.

Sección de complementos de ERS

No solo eso, sino que también deberá crear una nueva cuenta de administrador, actualizar WordPress y la URL del sitio, restablecer los privilegios y roles de los usuarios, y volver a escanear o reinstalar los archivos principales, todo desde fuera del administrador de WordPress. ¡Realmente impresionante!

Ahora, en los otros métodos.

Si tiene acceso FTP, cambie el nombre de las carpetas /wp-content/plugins/ y /wp-content/themes/. Cualquier nombre nuevo servirá; simplemente agregue una "x" delante del nombre.

Si tiene acceso a MySQL, abra la tabla de opciones (la tabla tendrá un prefijo, es decir, wp_options) y busque filas que tengan la columna option_name configurada en active_plugins y current_theme. Elimine las dos filas o cambie sus valores de option_name para que pueda revertir fácilmente las cosas más adelante. WP volverá al tema predeterminado (Twenty Seventeen para versiones anteriores a v5) si está disponible en la ubicación predeterminada.

Vuelva a wp-login.php , actualice la página e intente iniciar sesión. ¿Sigue sin funcionar? sigue leyendo

Tómese un minuto para descubrir el enfoque más simple

Si no te metiste en absoluto con WordPress o tu cuenta y estás bastante seguro de que el problema es solo con el nombre de usuario o la contraseña incorrectos, entonces toma la ruta de MySQL. Cambiar la contraseña en la base de datos es todo lo que se necesita para recuperar el acceso.

Si no tiene ninguna cuenta o tiene razones para creer que la arruinó, entonces el enfoque de FTP funciona mejor, ya que necesitaremos crear una nueva cuenta. Se puede lograr un resultado positivo tanto con FTP como con acceso a MySQL, así que no se alarme si solo tiene uno disponible.

Si tiene acceso a WP-CLI para su sitio, no hay necesidad de meterse con archivos o bases de datos. El comando de wp user le dará herramientas más que suficientes para arreglar una cuenta o crear una nueva.

Iniciar sesión sin nombre de usuario ni contraseña: al estilo MySQL

Para que una cuenta de WP funcione, algunas cosas deben estar correctamente alineadas. WP busca el nombre de usuario y la contraseña cifrada en la tabla de usuarios y, si encuentra una fila, continuará buscando filas adicionales en la tabla usermeta. Los necesita para averiguar los privilegios de su cuenta. Si alguna de las cosas mencionadas anteriormente falla, no podrá iniciar sesión o lo hará, pero no con los privilegios correctos. Debido a los filtros y acciones de WordPress, cualquier cantidad de complementos y temas pueden alterar este proceso y hacer que la depuración sea mucho más difícil. Es por eso que ya aconsejé deshabilitarlos a todos.

También mencionaré la posibilidad de ejecutar una clase WP DB personalizada a través de un drop-in. Un error en eso también puede ser el culpable. Para asegurarse de que no está ejecutando ningún complemento, cambie el nombre de la carpeta /wp-content/mu-plugins/. Si no puede encontrar esa carpeta, ¡genial! Significa que no tienes ningún complemento activo.

phpMyAdmin es una herramienta decente para cambiar o agregar algunas filas en la base de datos de WP. La mayoría de las personas acceden a través de cPanel, ya que viene preinstalado y no es necesario volver a ingresar las credenciales. Como recordatorio, cPanel está disponible en https://yoursite.com:2083. Si eso no está disponible para usted, pero tiene el nombre de usuario y la contraseña de la base de datos y la capacidad de conectarse desde un host remoto, le sugiero que instale la aplicación gratuita HeidiSQL y se conecte usando esos detalles. El nombre de usuario y la contraseña guardados en wp-config.php ciertamente funcionan si su WP funciona, pero rara vez se pueden usar para conectarse a MySQL desde un host remoto debido a restricciones de seguridad. La configuración de las cosas depende del servidor y es imposible dar consejos generales.

¿No puedes iniciar sesión en tu sitio de #WordPress? ¿El nombre de usuario y la contraseña simplemente no funcionan? Aquí hay algunos métodos sencillos para recuperar el acceso sin un nombre de usuario y contraseña.

HAGA CLIC PARA TUITAR

Modificando algunas filas de la base de datos

Encuentra tu cuenta en la tabla de usuarios. Nuevamente, la tabla siempre tiene un prefijo. Por defecto es wp_users, pero puede ser cualquier cosa; es decir: site765_users. Suponiendo que solo la contraseña sea incorrecta, edite la columna user_pass e ingrese una nueva contraseña cifrada (solo use MD5). El hash de la contraseña "123456" es e10adc3949ba59abbe56e057f20f883e , pero recomiendo usar una contraseña más decente y generar un hash para ella. Guarde la fila e intente iniciar sesión. ¿Sin suerte? Revisemos los privilegios.

Anote la identificación de su cuenta, visible en la tabla de usuarios, en la columna de identificación. Luego busque todas las filas en la tabla usermeta que tengan ese valor de identificación para la columna user_id (clave). Puede esperar encontrar más de 10 filas, pero las que necesitamos son aquellas con valores wpc_capabilities y wpc_user_level en las columnas meta_key. Establezca el primero en a a:1:{s:13:"administrator";b:1;} y el segundo en 10 . Guardar, intenta iniciar sesión. ¿Aún no has tenido suerte? En ese caso, sugiero crear una nueva cuenta de administrador que es más fácil de hacer a través de FTP.

En caso de que FTP no esté disponible para ti, imita los datos de la cuenta que ya tienes para crear una nueva. Asegúrese de que tenga un nombre de usuario y una dirección de correo electrónico únicos y que cree los dos registros en la tabla de metausuarios mencionada anteriormente. Eso es todo lo que se necesita para crear una cuenta directamente en la base de datos.

Iniciar sesión sin nombre de usuario ni contraseña: al estilo FTP

El primer y crucial paso en este método es encontrar el archivo functions.php del tema activo. Si cambió el nombre de la carpeta /wp-content/themes/ cámbiele el nombre y deje solo el tema Twenty Seventeen en ella. Cualquier otro tema también funcionará, pero asegúrese de que no tenga ninguna funcionalidad de inicio de sesión personalizada que pueda causar errores.

Después de localizar el archivo functions.php , prueba para asegurarte de que tienes el correcto. Confíe en mí en este caso: he perdido horas editando el archivo incorrecto. Add die('It works!'); como la primera línea PHP del archivo; guardar y actualizar el sitio. Si nada cambia, tiene el archivo equivocado. Deshacer el cambio y encontrar el correcto. Una vez que lo tenga agregue este código al principio del archivo;

// 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.' );
}

Modifique las dos primeras líneas del código, guarde el archivo y vuelva a cargar el sitio. "¡Éxito!" debería aparecer en la pantalla y luego puede proceder a iniciar sesión con el nuevo nombre de usuario y contraseña; los que establece en las dos primeras líneas del código. No olvide eliminar el código de functions.php una vez que haya terminado.

Otros métodos para recuperar el acceso a WordPress

Si tiene acceso a FTP, MySQL o cPanel, los métodos anteriores le permitirán iniciar sesión. De lo contrario, asegúrese de dejar un comentario a continuación. Me gustaría saber qué te impide iniciar sesión.

Una "pequeña cosa" común que causa problemas a algunas personas es no abrir wp-login.php en la URL correcta. Ya sea usando "www" cuando no está configurado como la dirección del sitio o viceversa. O no usar el protocolo correcto: HTTPS en lugar de HTTP y viceversa. Si bien la página puede cargarse, eso no significa que esté en la URL correcta, así que verifíquelo dos veces.

Si viniste aquí para aprender cómo hackear el WordPress de alguien, lo siento, no es ese tipo de artículo . Al tener acceso a FTP o MySQL, asumo que es un propietario legítimo y no usará los métodos descritos para fines maliciosos.