CMS Problemas Técnicos Tips WordPress

Cómo acceder a WordPress sin contraseñas

James Sutton - Unsplash.com
James Sutton - Unsplash.com

Regla nº1 de la Seguridad Digital: No pongas la misma contraseña para todo.
Por lo tanto, debes recordar la contraseña de tu correo (o correos), la de tu móvil, el pin de tu tarjeta de crédito, tu cuenta de PayPal… Asumible, ¿no?

Pues bien ¿y los que trabajamos en esto del mundo web? Sumemos: Contraseña del hosting, del Panel de Control, de los correos de los clientes, del CMS, de SSH, del FTP, de phpMyAdmin… La cosa se complica, ¿verdad? Pues multipliquémoslo por tantos proyectos como tengamos.

Con este panorama, y dado que no se te ha ocurrido el error garrafal de anotarlas en papel al alcance de todos… ¿verdad? Lo habitual es que tarde o temprano se nos olvide la contraseña de, por ejemplo, WordPress. O lo que es peor… ¡por no recordar no recordemos ni el usuario! Pues no desesperes, ¡Loopeando al rescate!


¿Tienes prisa?

Asumiremos que tus intenciones son buenas y que por lo tanto tienes acceso completo al servidor. En caso contrario (de que no tengas acceso al servidor), ponte en contacto con el administrador del sistema.

Si tú eres el administrador del sistema, para crear una cuenta con permisos Administrador en WordPress debes acceder a la consola de MySQL o phpMyAdmin y ejecutar el siguiente código:

INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ('tunombreusuario', MD5('contraseñadelnuevoadmin'), 'Nombre Apellido', 'admin@example.com', '0');

INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

Donde debes sustituir:

  • tunombreusuario: Corresponde al nombre de usuario que quieras que tenga la nueva cuenta de administrador.
  • contraseñadelnuevoadmin: Será la contraseña de la cuenta que estamos creando.

Hecho ésto, ya podremos acceder a la ventana de login del backend y probar los nuevos credenciales.

En el caso de que necesites crear una cuenta de Super Admin, o este método no te haya funcionado, te invitamos a seguir leyendo el artículo.

 

 

WordPress 2

En 2005, con el lanzamiento de WordPress v.2, se sustituyeron los niveles de usuario por un sistema de roles. Por lo tanto, si todavía tienes esa versión, debes ejecutar el siguiente código en MySQL:

INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ('tunombredeusuario', MD5('contraseñadelnuevoadmin'), 'Nombre Apellido', 'admin@example.com', '0');

INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');

Donde debes sustituir:

  • tunombreusuario: Corresponde al nombre de usuario que quieras que tenga la nueva cuenta de administrador.
  • contraseñadelnuevoadmin: Será la contraseña de la cuenta que estamos creando.

Y en cuanto consigas acceder te recomendamos encarecidamente que ¡¡¡actualices WordPress!!! Estamos ya en la versión 4.8.

 

Necesito permisos de SuperAdmin

En ese caso, primero debemos crear un usuario tal y como explicamos en el «Tienes prisa»:

INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ('tunombreusuario', MD5('contraseñadelnuevoadmin'), 'Nombre Apellido', 'admin@example.com', '0');

INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

Cuando lo hayamos creado vamos a la tabla wp_sitemeta y buscamos el registro con el key admins. Una vez ahí debemos añadir al array nuestro usuario, teniendo en cuenta que debe ir serializado.

Ejemplo:
El usuario que deseo añadir como superadmin se llama «ManceRayder», y en el registro ya hay 2 superadmins llamados «admin» y «Laura».

Debemos por tanto cambiar el array:

a:2:{i:1;s:5:"admin";i:2;s:5:"Laura";}

Por:

a:3:{i:1;s:5:"admin";i:2;s:5:"Laura";i:3;s:11:"ManceRayder";}

Donde:
a:3 indica el número de elementos del array
i:3 indica la posición del elemento dentro del array
s:11 indica el número de caracteres del registro

 

Necesito permisos de SuperAdmin y no tengo acceso MySQL

En ese caso existe un script oficial para resetear la contraseña de un usuario. Podéis encontrarlo haciendo clic aquí.

Ese usuario ni tan siquiera necesita tener permisos previos de administrador o superadministrador, ya que podéis dárselos a posteriori ejecutando la siguiente función:

add_action( 'init', function () {
    // Cambia $user_id por la ID de usuario que quieres hacer super admin
    grant_super_admin( $user_id );
}

 

¿Te ha parecido interesante esta entrada? ¿Hemos conseguido resolver tus dudas? Ayuda a tus amigos como nosotros te hemos ayudado a ti ¡Compartelo!

Cristian Sarabia Martínez

Desde que a principios de los 90 mi padre desempolvó su Spectrum, no he dejado de probar y experimentar con la tecnología.

Enamorado del mundo web, Full Stack Developer de profesión y diseñador por devoción.

Ahora hago mis pinitos en esto del blogging para compartir con vosotros un poquito de todo lo que la comunidad me ha dado.

Escribir comentario

Haz clic aquí para dejar tu comentario