Problema grave: Como puedo cambiar el ID de mi usuario

Inicio Foros WordPress Seguridad Problema grave: Como puedo cambiar el ID de mi usuario

Este debate contiene 12 respuestas, tiene 2 mensajes y lo actualizó  Alias79 hace 5 años, 9 meses.

  • Autor
    Publicaciones
  • #67458

    Alias79
    Participante

    La he liado. Con un plugin (Better Wp Security) he cambiado mi ID de usuario del 1 a otro número que ya tengo identificado…

     

    ¿Cómo puedo recuperar mi ID 1 de forma sencilla? He estado mirando en la BBDD, y hay un montón de entradas con el número antiguo y el nuevo, y creo que lo mejor sería dejarlo con el 1 para no liarla más. No quiero meter ninguna entrada en la web hasta que no lo arregle, por si tengo que restaurar BBDD o cosas así.

     

    Había abierto otro tema en seguridad, acerca del plugin en cuestión, pero sólo quiero ya recuperar mi ID 🙁 , por que creo que así podré revertir los problemas que tengo con otras cosas…

  • #67460

    Alias79
    Participante

    Llevo ya horas investigando y no encuentro ningún sitio donde diga como hacer esto 🙁 , ni si quiera en el foro de ayuda del plugin (aunque si he visto que a otros le ha pasado).

     

    Lo que se me ha ocurrido es lo siguiente: ¿Y si edito la parte del plugin que dice que todo lo que sea “ID = 1” por la nueva ID que se ha generado, e indico que fuerza la 1?

     

    Estoy viendo, y la parte que se encarga de esto es el archivo better-wp-security/inc/admin/common.php

     

    Y la función creo que es esta:

     

    function changeuserid() {    global $wpdb;

    $user = get_user_by( ‘id’, ‘1’ );    if ( $user === false ) {     return false;    }

    $wpdb->query( “DELETE FROM ” . $wpdb->users . “ WHERE ID = 1;” );

    $wpdb->insert(     $wpdb->users,     array(      ‘user_login’   => $user->user_login,      ‘user_pass’    => $user->user_pass,      ‘user_nicename’   => $user->user_nicename,      ‘user_email’   => $user->user_email,      ‘user_url’    => $user->user_url,      ‘user_registered’  => $user->user_registered,      ‘user_activation_key’ => $user->user_activation_key,      ‘user_status’   => $user->user_status,      ‘display_name’   => $user->display_name     )    );        $newUser = $wpdb->insert_id;    $wpdb->query( “UPDATE ” . $wpdb->posts . “ SET post_author = ‘” . $newUser . “‘ WHERE post_author = 1;” );    $wpdb->query( “UPDATE ” . $wpdb->usermeta . “ SET user_id = ‘” . $newUser . “‘ WHERE user_id = 1;” );    $wpdb->query( “UPDATE ” . $wpdb->comments . “ SET user_id = ‘” . $newUser . “‘ WHERE user_id = 1;” );    $wpdb->query( “UPDATE ” . $wpdb->links . “ SET link_owner = ‘” . $newUser . “‘ WHERE link_owner = 1;” );

    return true;

     

    No me gustaría tener que juguetear de esta forma, pero es que ya estoy desesperado!

  • #67461

    LGrusin
    Miembro

    No hagas nada extraño, es más sencillo que todo eso….

    ¿No puedes volver a poner el 1 con ese plugin?

    Un saludo

  • #67464

    LGrusin
    Miembro

    En caso de que no puedas restablecer todo con el plugin Better Wp Security, lo desactivas.

    Bueno, desde phpMyAdmin puedes cambiar el nombre del usuario y el ID.

    Restablece desde allí los IDs y los nombres de los usuarios, los tienes en la tabla wp_users. Primero empieza por el usuario que no es el real.

    Si has eliminado el 1 creas un usuario nuevo con permisos de administración y después le pones el ID 1 y el nombre desde phpMyAdmin. Después desde el perfil del usuario pones todos los datos exactamente iguales que tenía el usuario 1 anterior.

    Un saludo

  • #67465

    Alias79
    Participante

    Eso es lo que me parece increible, que este plugin te permite cambiar este ID, por que lo considera un fallo de seguridad, pero no permite revertirlo, ni si quiera desactivándolo (modifica todos los valores en la BBDD, y no los restaura aunque lo desactives o desinstales). Cuando pulsé sobre esa opción, no me imaginaba que luego no te permitiera revertirlo…

     

    He estado mirando por la BBDD y modifiqué la tabla  wp_users, cambiando el nuevo por el nº 1, pero entonces no podía entrar a algunas cosas. Estuve echando un ojo por otras, y creo que vi el nuevo número por ahí 🙁 , por ejemplo, en wp_comments o wp_usermeta, o en los posts nuevos del foro en los que haga nuevos comentarios (acabo de contestarte a uno en el que tengo ahora sólo dos mensajes, de los 3.000 y pico que llevaba… snif… por que lo controla a nivel de ID en los foros).

     

     

     

     

  • #67468

    LGrusin
    Miembro

    Yo creo que debes centrarte en “restaurar” WordPress a su estado original y dejar el Foro de lado. Lo digo porque el Foro tiene su propia base de datos y la gestión de usuarios es diferente.

    Sobre el plugin, como decimos por aquí, “pégale un viaje más lejos que cerca”, o sea, desactivalo y desinstálalo. Lee bien las instrucciones por si hay que hacer algún paso previo antes de desinstalarlo.

    Cuando soluciones una cosa intentamos solucionar la siguiente.

    Por cierto, la base de datos se puede optimizar, y se reduce bastante el tamaño. Seguro que todavía guardas las revisiones de los posts… 😉 Esto entra en las tareas de mantenimiento que hay que hacer con frecuencia. Desde phpMyAdmin se hace perfectamente.

    Un saludo

  • #67469

    Alias79
    Participante

    Ok, el plugin está ya en otro mundo, lejos de mi web, jejeje

    La BBDD del foro entiendo que está totalmente aparte, de ahí que no se hayan aplicado los cambios. Cada “cierto” tiempo optimizo la BBDD reduciéndola con  un plugin que se llama WP-Optimize, pero la copia que hice antes de instalar el Better Wp Security no estaba muy optimizada (por cierto, mirando en ella con phpMyAdmin he visto tablas que no tendrían que estar como de cuando instalé bbpress y otros plugins… pero bueno, esto ya es otra historia)

    Ahora lo que pasa es que no se como proceder: mi usuario existe, no ha sido eliminado, lo que se ha modificado es su ID. O lo que es lo mismo, no puedo crearlo nuevo en la BBDD por que ya existe su nombre.

     

    Lo que creo que tengo que hacer es (según lo que me has dicho…):

    1. Crear un USUARIO NUEVO con un nombre temporal y asignarle desde phpMyAdmin el ID = 1

    2. Coger mi USUARIO ANTIGUO (al que se le ha cambiado el ID) modificarle el nombre de usuario por otro temporal desde phpMyAdmin

    3. Copiar todos los valores del “USUARIO ANTIGUO” al “USUARIO NUEVO”

    4. Modificar el “USUARIO NUEVO” para ponerle el mismo nombre que tenía el “USUARIO ANTIGUO”

    5. Cargarme el “USUARIO ANTIGUO” (o dejarlo, total…)

     

    Mi problema está en que no se que por que tablas se propagaron los cambios que modificaron el ID de usuario 1 al nuevo. Me parece que no han sido sólo en wp_users 🙁

    Ayer, antes de nada modifiqué el usuario antiguo borrándole el ID nuevo y colocándole ID 1 en la tabla wp_users, pero ya  no me dejaba ni entrar en el panel de administración de WP.

     

  • #67470

    Alias79
    Participante

    Bufff… De verdad que no se que hacer… Hay varias tablas en la que aparece el nuevo número, con cientos de entradas.

    No sería mejor lanzar algo que modificara que todo lo que aparece como “user_id” del nuevo número, lo cambie al “user_id” número “1”?

     

    Por cierto, acabo de ver una tabla que ocupa más de 200 MB, la del plugin de Counterize (el que utilizo para las estadísitcas web), de ahí que fuera tan pesada la BBDD…

  • #67474

    Alias79
    Participante

    Nada, que no se que hacer. Hay cientos de campos que especifican el nuevo USER_ID de las narices y me da miedo saltarme algo.

    He probado ha hacerlo a la inversa, a cambiar el ID en los posts del foro, pero hay que modificarlos uno por uno (y tengo 7725…).

     

  • #67538

    Alias79
    Participante

    Muchísimas gracias LGrusin!!! He seguido todos los pasos que me has dado para modificar desde phpMyAdmin las tablas que afectaban al plugin de Simple:Press (wp_sfposts y wp_sfmembers) y tooooodo ha vuelto a como estaba antes de utilizar el cambio masivo del plugin.

    Lo adicionalmente bueno es que de paso he solucionado ese problema de seguridad que supondría tener un usuario admin con ID=1…

     

    De nuevo, muchas gracias amigo!!!

  • #67540

    Alias79
    Participante

    Ups! Algo hice mal y tuve que restaurar la BBDD! Ahora lo tengo igual que como estaba antes, arhg!

     

    Parece que afectó a algunos usuarios que sus comentarios tenían “1”

  • #67555

    LGrusin
    Miembro

    Bueno te había respondido antes pero lo hago por aquí.

    La sentencia SQL, efectivamente estaba mal. Replace, cambia cadenas de caracteres por eso cambiaba todos los 1 que encontraba.

    El código SQL correcto a ejecutar es el siguiente:
    UPDATE wp_sfposts SET user_id = ‘357’ WHERE user_id = ‘1’

    suponiendo que el ID del nuevo usuario sea 357

    En la tabla wp_sfmembers también habrá que modificar el usuario, puesto que es un valor único para cada uno no te costará hacerlo.

    Un saludo

  • #67563

    Alias79
    Participante

    Hola!!! Bueno, ahora parece que ya está todo ha vuelto a la normalidad 🙂 . Ha habido algún que otro contratiempo (he puesto el comentario completo en el otro hilo), pero aparentemente todo está en su sitio!!

     

    He visto otras tablas en las que también tendré que hacer cambios:

     

    sfmemberships, que se encarga de las clases de usuario especiales (creo)

    sfwaitings, que no se de que va

    sfmessages, tabla de los mensajes privados, que esta sí debo cambiarla, y por lo que he visto, con una consulta SQL parecida a la que me has indicado . Hay un montón de cosas por modificar en esta (todos los mensajes privados que me han enviado y he enviado… y eso que hice limpieza). Creo que no tendré problema en arreglarlo solito 😀

     

    Después de esto, ojalá no tenga que tocar nunca más una base de datos! Por dios, que dolor de cabeza, jajaja. Me encanta trastear todo este tipo de cosas (así he aprendido a día de hoy lo poco que se de todo), pero sólo me gusta trastear cuando me afectan solo a mi… Con esto he estado bastante jiñado, porque se trataba de los mensajes de los usuarios de la web.

     

    ¡¡¡Muchas gracias de nuevo amigo!!!

El foro ‘Seguridad’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest