Cambiar el prefijo de la base de datos de WordPress

Siempre decimos que uno de los básicos a la hora de asegurar tu sitio es no dar información gratis y ¿qué información da WordPress gratis a los posibles hackers?, pues en la versión actual solo el número de versión, incluido en el fichero readme.txt de tu instalación y, acuérdate, el prefijo de la base de datos, que por defecto viene marcado a “wp_” en el fichero ‘wp-config.php‘ creado en la instalación a partir de ‘wp-config-sample.php‘.

Eliminar el fichero readme.txt puedes hacerlo en cualquier momento pero ¿y si no te acordaste de cambiar el prefijo de la base de datos en el momento de la instalación?, ¿puedes hacerlo ahora?

Pues si, no solo puedes sino que debes hacerlo. Cuando un hacker trate de atacar tu sitio mediante una injección SQL lo primero que va a hacer es comprobar su las tablas de tu base de datos empiezan por ‘wp_’ pues los nombres de las tablas de WordPress son de sobra conocidas (wp_options, wp_posts, wp_comments, etc).

Bueno, no sufras, vamos a cambiar el prefijo ahora mismo, solo necesitas acceso al fichero ‘wp-config.php‘ para editarlo y a phpMyAdmin, algo habitual desde el panel de tu alojamiento, no vamos a tardar más de 10 minutos.

¡Ah!, y como siempre, antes haz copia de la base de datos, eso que no se te olvide por si metes la pata en algún paso.

Nota preliminar: este proceso es para instalaciones ya finalizadas, si aún no has instalado WordPress al hacerlo te pedirá un prefijo para la base de datos, simplemente elige uno poco predecible.

1. Modifica el archivo wp-config.php

Busca la sección que dice esto:

Aquí es donde vamos al cambiar el prefijo, y lo ideal es usar una cadena que sea difícil de identificar, cuanto más mejor, por ejemplo ‘JUJp4ExX651j’. Asi que sustituimos el predecible ‘_wp’ por esto:

2. Cambiamos los nombres de las tablas de la base de datos

Como en el paso anterior hemos dicho a WordPress que el prefijo de las tablas es distinto al que tienen las existentes no te sorprendas si al acceder a tu sitio te da error, ¡es lo normal!, lo raro sería lo contrario.

Cuando instalas WordPress se añaden nada menos que 11 tablas estándar por defecto en tu base de datos. Luego, si instalas plugins, incluso con algunos temas, la lista va creciendo. Acede a phpMyAdmin y revisa en la lista de la izquierda la lista de tablas de tu base de datos y verás, por lo menos, las 11 originales (aunque seguro que verás más).

Bueno, pues como ya estamos dentro de phpMyAdin elegimos la pestaña SQL y luego el comando RENAME para renombrar rápidamente las tablas de nuestra base de datos, que es lo que toca ahora.

Con los siguientes comandos renombramos las 11 tablas originales de WordPress, recuerda que si tienes más tablas tendrás que añadir una línea similar por cada una adicional ¿entendido?.

Vamos a ello, ejecuta el comando de abajo, solo cambiando el prefijo que yo he puesto aquí al azar por el que tu hayas elegido en el paso anterior.:

Luego le das a ‘Go’ y tus tablas quedan renombradas de golpe, ya casi hemos terminado.

3. Modifica la tabla wp_options

La tabla ‘wp_options‘ contiene por lo menos un valor que hace referencia a los viejos prefijos de tabla así que hay que cambiarlo. De nuevo ejecutaremos un comando SQL que nos muestre todos los valores de esta tabla que contengan los nombres viejos.

Vamos de nuevo a la pestaña SQL y en la parte superior introducimos lo siguiente, de nuevo cambiando mi cadena aleatoria por la tuya.:

Cuando veas los resultados edita el ‘option_name‘ para cambiar ‘wp‘ a la cadena que elegiste. O sea, que si uno de los ‘option_names‘ es, por ejemplo, ‘wp_user_roles‘, lo cambias a ‘JUJp4ExX651j_user_roles‘, para que haga la referencia a los nuevos nombres de tablas.

¡Venga, que ya terminamos!

4. Modifica la tabla wp_usermeta

Al igual que antes, también en esta tabla hay referencias a “lo antiguo” así que de nuevo hay que ejecutar un comando para terminar el proceso, así que tecleamos lo siguiente para saber lo que nos toca cambiar:

Ahora lo que toca es cambiar el ‘meta_key‘ de cada resultado para que tenga nuestra cadena “anti-hackers”.

¡Ea ya está!. Ya puedes ir al Escritorio de tu WordPress para comprobar que todo funcione y sabiendo que estás un poco más seguro ante inyecciones SQL.

Nota final: de nuevo, y como en cada ocasión que realices modificaciones en tu WordPress, te recuerdo que hagas copia de seguridad de la base de datos antes de cambiar nada, luego no vengas quejándote.

AVISO: esta publicación es de hace dos años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

Valora este artículo para mejorar la calidad del blog ...

FlojitoNo está malEstá bienMe ha servidoFantástico (21 votos, promedio: 5,00 de 5)
Cargando…

Autor: Fernando

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran.Autor del libro WordPress - La tela de la araña. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

Comparte esta entrada en
468 ad

ESTA WEB UTILIZA COOKIES PARA OFRECER LA MEJOR EXPERIENCIA POSIBLE. SI SIGUES NAVEGANDO DAS TU CONSENTIMIENTO PARA LA ACEPTACIÓN DE COOKIES Y NUESTRA POLÍTICA DE PRIVACIDAD más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar