¿Por qué no funciona el restablecimiento de contraseña de usuarios de WordPress?

5 abr 2017, 01:01:58
Vistas: 28.2K
Votos: 2

He seguido el tutorial que se muestra a continuación para restablecer mis propias contraseñas cuando olvido la contraseña para el inicio de sesión de WordPress Admin

https://crybit.com/reset-wordpress-users-password/

pero parece que no funciona para este otro sitio en el que estoy trabajando. No estoy seguro por qué. He escuchado a colegas hablar sobre el framework PHP Portable Password Hashing. ¿Alguien podría explicarme si este es realmente el problema? ¿Debo simplemente usar una herramienta como esta:

http://tools.k2an.com/?page=wordpress

porque lo he intentado y tampoco ha funcionado y me he quedado sin soluciones. Por favor, ayuda.

¿Alguien sabe si alguno de estos plugins o este mensaje de error podría ser el problema?:

medthursday@thursdaypools.com [~/public_html]# wp plugin list
Notice: Undefined index: HTTP_HOST in /home/medthursday/public_html/wp-content/plugins/simple-301-redirects/wp-simple-301-redirects.php on line 271
+--------------------------------------------+----------+-----------+------------+
| name                                       | status   | update    | version    |
+--------------------------------------------+----------+-----------+------------+
| advanced-custom-fields-pro                 | active   | available | 5.5.0      |
| akismet                                    | inactive | available | 3.2        |
| custom-post-type-ui                        | active   | available | 1.4.3      |
| hc-custom-wp-admin-url                     | active   | none      | 1.3.2      |
| hello                                      | inactive | none      | 1.6        |
| wd-instagram-feed                          | active   | available | 1.1.16     |
| post-types-order                           | active   | available | 1.9        |
| regenerate-thumbnails                      | active   | none      | 2.2.6      |
| remove-query-strings-from-static-resources | active   | available | 1.3.1      |
| simple-301-redirects                       | active   | none      | 1.07       |
| sucuri-scanner                             | active   | none      | 1.8.3      |
| sumome                                     | active   | available | 1.22       |
| theme-check                                | inactive | none      | 20160523.1 |
| updraftplus                                | active   | available | 1.12.29    |
| user-role-editor                           | active   | available | 4.31       |
| wordfence                                  | active   | available | 6.2.6      |
| wordpress-importer                         | active   | none      | 0.6.3      |
| wp-pagenavi                               | active   | none      | 2.91       |
| wordpress-seo                             | active   | available | 3.8        |
+--------------------------------------------+----------+-----------+------------+
7
Comentarios

¿Qué quieres decir con que no funciona?

rudtek rudtek
5 abr 2017 01:15:37

Quiero decir que después de actualizar el usuario wp_user con una nueva contraseña, actualizo example.com/wp-admin, intento iniciar sesión y nada, todavía no puedo acceder. He hecho esto un millón de veces con mi sitio web personal.

Daniel Daniel
5 abr 2017 01:16:46

¿Recibes algún error? ¿Revisaste el registro de errores? ¿Estás usando http://www.example.com/wp-login.php?action=lostpassword? Si es así, ¿recibes el correo electrónico?

rudtek rudtek
5 abr 2017 01:18:09

El error que obtengo en el frontend es que el nombre de usuario y/o la contraseña son incorrectos. ¿Qué registros de errores debo revisar en el servidor? Cuando solicito un restablecimiento por correo electrónico, me indica que mi correo no existe, aunque sí existe, está en phpMyAdmin. Lo mismo ocurre con mi nombre de usuario y contraseña.

Daniel Daniel
5 abr 2017 01:21:12

En ese caso, puede que no estés recibiendo un error. ¿Puedes iniciar sesión en el sitio con un usuario diferente? ¿Alguna vez has podido hacerlo?

rudtek rudtek
5 abr 2017 01:32:26

Nunca intenté iniciar sesión con credenciales de otro usuario

Daniel Daniel
5 abr 2017 01:39:27

Continuemos esta discusión en el chat.

rudtek rudtek
5 abr 2017 01:40:55
Mostrar los 2 comentarios restantes
Todas las respuestas a la pregunta 3
3

Quizás esta no sea la respuesta que buscas, pero probar una de las siguientes opciones podría ayudarte.

Por supuesto, tienes acceso FTP o SSL.
Si no tienes uno de ellos, ¡no pierdas tiempo leyendo más!

La vieja y sabia recomendación de hacer una copia de seguridad en este caso de functions.php antes de empezar a añadir/editar es importante.

Comienza activando el modo de depuración en wp-config.php para ver (con suerte) posibles errores que puedan estar afectando a WordPress.

Opción 1:
Añade en functions.php el siguiente fragmento de código si tu usuario administrador tiene el ID número 1 (UNO):

/**
 * Más información {@link https://codex.wordpress.org/Function_Reference/wp_set_password}
*/
$user_id = 1;
$password = 'newpasswd';
wp_set_password( $password, $user_id );

Nota importante: Este código debe eliminarse después de UNA carga de página, de lo contrario, la contraseña se restablecerá en cada carga posterior, enviando al usuario de vuelta a la pantalla de inicio de sesión cada vez.
¡Cambia ambos valores según tus preferencias! Si el administrador no tiene el user_id 1 y no tienes idea de qué número de user_id debería ser, olvida esta opción. (¡no vale la pena intentarlo!)

Una vez añadido el fragmento, intenta iniciar sesión en tu sitio. (asegúrate de que la caché del navegador esté vacía)
Intenta ahora iniciar sesión con tu nombre de administrador y la nueva contraseña creada.
¿Éxito? Si es así, elimina el fragmento de functions.php y todo debería estar bien ahora.
¿No funcionó? Elimina el fragmento y prueba la opción 2.

Opción 2:
Añade en functions.php la siguiente función, que *(debería)* crear un nuevo usuario administrador para ti. Cambia $username \ $email \ $password según tus preferencias. (una dirección de correo electrónico válida sería lógico)

/**
 * Crear un nuevo usuario con capacidades de administrador
 *
 * Más información {@link https://codex.wordpress.org/Function_Reference/wp_create_user}
 *
 * @version WP 4.7.3
 */
add_action( 'init', 'wpse262478_add_new_adminuser' );
function wpse262478_add_new_adminuser()
{
    $username = 'aname'; 
    $email    = 'whatever@domain.com';
    $password = 'LZTf$f$FR)Y@xye';
    $user_id  = username_exists( $username );

    if ( !$user_id && email_exists( $email ) == false )
    {
        $user_id = wp_create_user( $username, $password, $email );

        if( !is_wp_error( $user_id ) )
        {
            $user = get_user_by( 'id', $user_id );
            $user->set_role( 'administrator' );
        }
    }
} // fin de la función

(asegúrate de que la caché del navegador esté vacía, lo que siempre puede ser útil en estas situaciones)

Si tienes éxito, puedes iniciar sesión con la nueva cuenta de administrador creada (si no funciona directamente, presiona F5 en el teclado para refrescar unas cuantas veces) y eliminar la función de tu functions.php. Si no tienes éxito, igualmente debes eliminar la función porque esta opción tampoco parece fructífera.

Esperamos que alguna de las opciones anteriores te haya ayudado. Si es así, deja de leer y respira hondo. Si no, quizás lo siguiente pueda ser útil.

Como ya intentaste acceder a través de phpMyAdmin (según se vio en la discusión del chat) y tampoco funcionó, aún puedes probar otra opción que no siempre ayuda, pero al menos habrás intentado algo.

Opción 3:
Renombra tu carpeta plugins a otro nombre y vuelve a probar la opción 1 o 2.
Si tienes éxito, inicia sesión, vuelve a cambiar el nombre de la carpeta de plugins a plugins. Ahora tendrás que activar uno por uno cada plugin y verificar que todo siga funcionando.
Si todo parece estar bien, al menos habrás encontrado una solución, aunque aún no tengas respuesta sobre el "por qué no funcionaba". Sería demasiado profundizar en ese problema, pero al menos ahora puedes tomarte un tiempo para averiguar qué podría haber sido.

PD: ¿Revisaste también tu functions.php? Quizás hay código que podría ser el culpable de este dilema.

5 abr 2017 04:36:12
Comentarios

Charles, gracias por las sugerencias, pero ninguna funcionó.

Daniel Daniel
5 abr 2017 06:18:58

chicos, he añadido más detalles. Háganme saber si esto sirve como pista.

Daniel Daniel
5 abr 2017 06:57:30

Por lo que tuve que hacer, add_action es necesario también para la Opción 1. Entonces: `add_action( 'init', 'wpa5784583_init' );

function wpa5784583_init(){ $user_id = 2; $password = "NEW_PWD"; wp_set_password( $password, $user_id ); } `

jbobbins jbobbins
11 may 2020 19:39:20
1

Puedes cambiar tu contraseña a través de la tabla de usuarios en la base de datos. Ve a las bases de datos y abre la tabla de usuarios, encuentra el administrador y cambia tu contraseña seleccionando MD5 como método de encriptación, luego guarda la tabla.

Creo que puedes obtener ayuda a través de este enlace Restablecer Contraseña de Wordpress

5 abr 2017 08:17:42
Comentarios

Abhishek, así es como hemos llegado a este punto, porque esa manera no está funcionando.

Daniel Daniel
5 abr 2017 15:25:29
6
-1

Todos ustedes han sido recursos maravillosos. Ahora la respuesta. Fue un plugin llamado Wordfence que se negaba a reconocer cualquier usuario que creé a través de la tabla wp_users. Si la persona con privilegios de administrador no creaba mi usuario, no había forma de que pudiera entrar. Los usuarios que creé aparecían como "Usuario Existente: No", pero cuando un colega con derechos de administrador creó el usuario "daniel", Wordfence lo reconoció como "Usuario Existente: Sí". Así que... no sé si enojarme porque usamos ese plugin o alegrarme de que funcione tan bien.

Top 5 Inicios de Sesión Fallidos
Usuario          Intentos de Inicio  Usuario Existente
media_dev        21                  No
admin            9                   No
earthquake2018   7                   No
JosiahSchaefer   7                   Sí
daniel           5                   Sí
5 abr 2017 16:20:41
Comentarios

Me alegra saber que encontraste el culpable como mencioné en la opción 3 de mi respuesta. Sigue siendo extraño, ¿verificaste si se agregó algo a la base de datos (con Wordfence activado) cuando intentaste crear otro usuario administrador? No me agradaría ningún plugin que se comporte así, al menos cuando este comportamiento/restricción no se menciona en ninguna parte de la documentación/preguntas frecuentes. (No estoy familiarizado con esos plugins de seguridad, así que no puedo decirlo) Si no se menciona en ningún lado, informaría a los desarrolladores y les pediría que lo mencionen en todas partes, porque incluso te impide agregar/editar la base de datos. De cualquier modo, felicitaciones.

Charles Charles
5 abr 2017 22:27:09

Así que cuando dijiste "nada de eso funcionó" a la respuesta de @Charles, en realidad quisiste decir: no me molesté en intentar la opción 3;)

Jebble Jebble
6 abr 2017 09:27:04

Esa es una interpretación incorrecta. Cuando dije que nada funcionó, incluía la opción 3. Probé toda la gama de sugerencias aquí y en otros lugares. El problema no eran las respuestas, sino el hecho de que estaba luchando contra un plugin llamado Wordfence y ni siquiera lo sabía ya que no desarrollé este sitio.

Daniel Daniel
6 abr 2017 20:27:25

Daniel. Lo que @JeffreyvonGrumbkow está diciendo es que esto se habría resuelto si hubieras completado la Opción 3 y deshabilitado tus plugins. Eso habría eliminado wordfence de la ecuación.

rudtek rudtek
11 abr 2017 08:17:26

@rudtek, ahh ok, desafortunadamente en ese momento intenté desactivar wordfence vía wp-cli, pero a pesar de que estaba en el servidor, wordfence se negó a reconocer lo que estaba haciendo y no pude entrar a wp-admin para deshabilitar los plugins desde ahí.

Daniel Daniel
11 abr 2017 08:25:42

Por alguna razón mi problema era en realidad el CACHING. Tan pronto como le dije a WP Super Cache que ignorara 'resetpass' todo funcionó bien.

AKKAweb AKKAweb
16 mar 2018 05:14:31
Mostrar los 1 comentarios restantes