WordPress wpdb prefix

$wpdb- prefijo multi sitio

Contents

Cambiar el prefijo de tu tabla de WordPress es arriesgado de implementar y no hace absolutamente nada para mejorar la seguridad de tu sitio. En el post de hoy voy a explicar cuál es la idea original detrás de esto y por qué simplemente no deberías hacerlo.

Hay un cierto tipo de ataque llamado ataque de inyección SQL donde un atacante utiliza una vulnerabilidad en una aplicación, como un plugin de WordPress, para obtener acceso a su base de datos. Usando la inyección SQL, un atacante esencialmente gana el mismo nivel de acceso a su base de datos que su propio sitio web de WordPress tiene.

El concepto importante que hay que entender aquí es que, una vez que un atacante consigue acceder a su base de datos, tiene acceso a todo lo que hace su sitio de WordPress. Por lo general, pueden ejecutar cualquier comando SQL y pueden ver la salida. [Excepto en el caso de SQL ciego, pero eso está más allá del alcance de este post]

Hace unos años se hizo popular una idea que decía algo así: Si un atacante tiene acceso a tu base de datos a través de una inyección SQL, puedes evitar que acceda a tus datos renombrando tus tablas con algún prefijo único.

Wpdb wordpress

Es posible reemplazar esta clase con la suya propia estableciendo la variable global $wpdb en el archivo wp-content/db.php con su clase. La clase wpdb seguirá siendo incluida, por lo que puede extenderla o simplemente usar la suya propia.

Una clase wpdb instanciada puede hablar con cualquier número de tablas, pero sólo con una base de datos a la vez. En el raro caso de que necesite conectarse a otra base de datos, instancie su propio objeto de la clase wpdb con su propia información de conexión a la base de datos.

Nota: Cada método contenido en la clase está listado en la sección Métodos (más abajo). Además, cada método tiene su propia página de ayuda; aquí es donde encontrarás información detallada sobre el uso del método que te interesa.

(int|string|array) El valor a sustituir en el marcador de posición. Se pueden pasar muchos valores simplemente pasando más argumentos de forma similar a sprintf(). Alternativamente, el segundo argumento puede ser un array que contenga los valores como en la función vsprintf() de PHP. Se debe tener cuidado de no permitir la entrada directa del usuario a este parámetro, lo que permitiría la manipulación de arrays de cualquier consulta con múltiples marcadores de posición.Nota: Los valores no pueden ser SQL-escapados.

Wpdb->get_var

WordPress Obtener el Prefijo de la Tabla de la Base de Datos en WordPress Si está usando WordPress multisitio entonces dependiendo de qué blog esté usando el prefijo de la tabla de la base de datos será diferente. Por defecto el prefijo de la tabla de la base de datos de WordPress es wp_, puedes cambiar este prefijo en el wp-config.php. Para cambiar el prefijo de la tabla de la base de datos añada una variable de $table_prefix al archivo wp-config.php.

La información que puede obtener de esta clase es muy útil cuando se interactúa con la base de datos, esta almacenará la última consulta, el último resultado y el sitio actual que necesita consultar. Si está haciendo consultas personalizadas a la base de datos de WordPress debería usar este objeto para obtener la información del sitio actual. Hay una propiedad que se define como prefijo para obtener el prefijo de la base de datos del sitio actual.

Si usted está en el sitio principal o tiene una instalación de un solo sitio este valor permanecerá igual, pero en instalaciones mutlisite de WordPress esta propiedad cambiará a cualquier sitio en el que se encuentre. Si yo cambiara al sitio ID 2 entonces $wpdb->prefijo será newprefix_2_.

Wpdb->insertar

WordPress proporciona un objeto global, $wpdb , que es una instanciación de la clase wpdb. Por defecto, $wpdb es instanciado para acceder a la base de datos de WordPress, pero puede ser utilizado para manipular cualquier tabla de la base de datos de WordPress, no sólo las creadas por el propio WordPress.

Comparando las tablas existentes con la estructura de datos de wpdb, podemos encontrar que no son lo mismo. En realidad, wpdb definió su propia estructura de datos, sólo basada en la base de datos estándar de WordPress, también soporta multisitios. En este caso wpdb crea objetos de datos por sí mismo, y no accede a la base de datos. – ¡ejecuta más rápido!

Para las sentencias SQL CREATE, ALTER, TRUNCATE y DROP, (que afectan a tablas enteras en lugar de a filas específicas) este método devuelve TRUE en caso de éxito, si se encuentra un error de mysql, el método devolverá FALSE.