WordPress es un sistema de archivos que funciona alrededor de una base de datos centralizada. Esta base de datos se utiliza para almacenar toda la información pertinente, opciones y configuraciones necesarias para que un sitio web de WordPress funcione. Por esta misma razón, es un objetivo común de ataques maliciosos y su seguridad debe ser una de las prioridades de todo desarrollador de WordPress. Entre una larga lista de funciones de seguridad que se pueden utilizar dentro de WordPress, muchas de ellas se pueden agregar al archivo wp-config.php. Una de esas configuraciones es la opción table_prefix que cubriremos en este artículo.
Es decir, las bases de datos de WordPress tienen un prefijo predeterminado de "wp_”Que los expone a ataques que pueden aprovechar el uso de dicha configuración predeterminada y utilizarlos para recopilar información valiosa del usuario. Para protegerse contra esta forma de ataque, simplemente necesita cambiar el prefijo de la tabla a algo que no sea "wp_" que otros no podrán predecir.
Cambiar el prefijo de la base de datos de WordPress
Este proceso implica tres pasos principales, sin embargo, antes de intentarlos, siempre es una buena idea hacer una copia de seguridad de la base de datos para que pueda simplemente restaurarla si es necesario.
Para la primera parte de cambiar el prefijo, utilizará el archivo wp-config.php y cambiará el prefijo predeterminado para todas las tablas. Para hacerlo, deberá acceder a su sitio web a través de FTP y editar el archivo wp-config.php en el directorio raíz. Botón derecho del ratón este archivo y seleccione Ver edición de la lista desplegable.
Una vez que el archivo se abre en una nueva ventana, dentro de ella deberá modificar la siguiente línea:
$table_prefix = 'wp_';
dentro
$table_prefix = ‘wp_new_';
Hemos establecido el prefijo predeterminado de la base de datos en "wp_new_". Eres libre de cambiar esto a lo que quieras. Sin embargo, tenga en cuenta que solo puede usar números, letras y guiones bajos para construir el prefijo. El comienzo aún debe consistir en "wp_" y puede ingresar su parte del prefijo después de él. Además, es una buena práctica terminar el nuevo prefijo con un guión bajo "_" para que los nombres de las tablas sean fácilmente discernibles.
Después de cambiar la línea, debe guardar sus cambios. Aparecerá la siguiente ventana emergente:
Simplemente haga clic si y se realiza la edición del archivo.
Ahora, si intenta acceder a su sitio web una vez más, se le pedirá que inicie la configuración de la base de datos una vez más, ya que se debe aplicar la nueva configuración para los prefijos. Si hace esto, toda su base de datos se anulará y perderá todo lo almacenado en ella.. Esto significa que si ya ha comenzado a trabajar en su sitio web, se borrará todo lo que haya hecho hasta ahora.
Para evitar esto, deberá cambiar los nombres de todas las tablas existentes (y algunas apariciones del prefijo dentro de las tablas) desde phpMyAdmin.
Si está trabajando en un servidor en vivo, para iniciar sesión en phpMyAdmin de su instalación, deberá comunicarse con su proveedor de alojamiento o acceder a su cPanel y navegar a phpMyAdmin.
Si está trabajando en un servidor local, puede ir al panel designado. Por ejemplo, si está usando XAMPP, vaya al panel de control y presione el botón de administración para MySQL.
Una vez que haya hecho cualquiera de estos, será redirigido a la página del panel de phpMyAdmin en su navegador predeterminado.
En el lado izquierdo de la página, verá una lista de sus bases de datos. Elija el que le gustaría editar simplemente haciendo clic en él. Si ha estado trabajando en un tema premium de WordPress, es probable que en la siguiente pantalla se muestren muchas tablas:
Sería un trabajo tedioso cambiarlos todos uno por uno. Afortunadamente, cuando se desplaza hacia abajo hasta el final de esta página, verá un marcar todas las opciones. Haga clic en él y en el menú desplegable junto a él elige la opción Reemplazar prefijo de tabla.
Aparecerá una pequeña ventana con dos cuadros de texto. Uno es para ingresar el prefijo de la tabla anterior, que en nuestro caso es "wp_", y el segundo es ingresar el nuevo prefijo que definimos previamente en el archivo wp-config.php, que en nuestro caso es "wp_new_".
Por presionando el botón Continuar ejecutará el cambio y podrá pasar al último paso.
Dado que las tablas de la base de datos están conectadas, hay ciertas entradas dentro de algunas de ellas que apuntan a una de las otras tablas. Dentro de estos, todavía se usa el prefijo anterior. Si lo deja así, se producirán errores y una vez más puede terminar teniendo que restaurar su base de datos respaldada para evitar perder todo el progreso que hizo con la construcción de su sitio web.
Para evitar esto, debe navegar a la pestaña SQL cerca de la parte superior de la ventana del navegador y agregue el siguiente código en el campo de texto que aparece:
SELECT * FROM 'wp_new_options' WHERE 'option_name' LIKE 'wp_%'
Una vez que haya ingresado este código debe modificar la parte "wp_new_options" para reflejar su nuevo prefijo (por lo que debe contener su nuevo prefijo seguido de la palabra "opciones"). Esto accederá a la tabla de opciones y recuperará de ella cualquier atributo option_name que comience con "wp_". En esencia, recuperará todos los valores de este atributo que comienzan con el prefijo anterior.
Una vez tú presione el botón Ir Se mostrará una lista de todas las entradas de esta tabla junto con un aviso de cuántas se han encontrado.
Ahora que hemos localizado todas las instancias del prefijo anterior dentro de la tabla de opciones, deberá cambiarlas una por una. Para hacerlo, puedes simplemente haga doble clic en el campo option_name y agregue su nuevo prefijo en lugar del anterior. Una vez que vuelva a hacer clic fuera del cuadro de texto, la información se guardará y aparecerá una notificación.
También necesitará hacer esto para la tabla "usermeta".
Como en el paso anterior, navegue a la pestaña SQL una vez más y pegue el siguiente código en el cuadro de texto grande.
SELECT * FROM ‘wp_new_usermeta’ WHERE ‘meta_key’ LIKE ‘wp_%’
Cambiando el prefijo "wp_new_" por el que eligió. Después presionando el botón Ir, debería ver una lista de instancias del prefijo anterior dentro de la tabla "usermeta".
Esta vez deberá modificar manualmente los valores de la columna "meta_key" para incluir el nuevo prefijo en lugar del anterior.
Una vez que haya hecho esto, el proceso de cambiar el prefijo de la tabla estará completo y podrá navegar de regreso a su sitio web sin ningún problema.
Pensamientos finales
Con esto concluye nuestro tutorial sobre cómo cambiar el prefijo predeterminado de la base de datos de WordPress. Si sigue estos pasos, puede crear algo de tranquilidad y asegurarse de que su base de datos y su sitio web estén mucho más seguros frente a posibles ciberataques.