Tecnología WordPress

Borrar de forma automática el log de WordPress y renombrarlo

Por razones de depuración, suelo tener activado el fichero log de WordPress para ver errores en clientes. El problema de tener el log activado en WordPress de forma constante es doble. Por un lado es un problema de seguridad, porque todo el mundo puede leerlo desde fuera y ver rutas y datos que no debería ver; y por otro, en algunas instalaciones sobre todo porque tienen mucho tráfico o muchos warning o notices, porque se vuelve enorme.

Vamos a darle solución a estos dos problemas.

Renombrar el fichero de log

Pues en vez de poner a true la constante WP_DEBUG_LOG lo ponemos con una ruta completa a un fichero y listo:

define('WP_DEBUG_LOG', '/var/www/misitio/logs/errores.log');

La ruta debe poder escribirse por WordPress y además debe ser lo suficientemente larga para que los bots no puedan encontrarla, por ejemplo:

define('WP_DEBUG_LOG', '/var/www/misitio/wp-content/errores-71e699696153975a574271c5ba77f5dd7ba65ba8.log');

Así tú sabrás encontrarlo donde siempre pero los bots no verán el fichero porque no podrán rastrear esa ruta.

Borrar automáticamente el log de forma diaria

Así rematamos el proceso, además de hacer el log seguro e invisible para bots maliciosos, lo borramos a diario para que no se llene y se convierta en un problema.

Hay un evento en WordPress definitido por el cron, que se ejecuta cada 24 horas y que está pensado para unir procesos de borrado automático, así que nos viene genial.

add_action( 'wp_scheduled_delete', function(){
    if ( defined('WP_DEBUG_LOG') && WP_DEBUG_LOG ) {
        $log_path = WP_CONTENT_DIR . '/debug.log';
    } elseif ( is_string(WP_DEBUG_LOG) ) {
        $log_path = WP_DEBUG_LOG;
    }

    if( file_exists( $log_path ) ){
        unlink( $log_path );
    }
});

Nos unimos al evento en cuestión de nombre wp_scheduled_delete y aplicamos la lógica:

  • Si existe la constante WP_DEBUG_LOG y es true, está en la ruta estándar que es debug.log en el fichero content
  • Si existe y es una cadena, entonces estamos usando una ruta personalizada

Una vez tenemos la ruta oportuna, si el fichero existe, lo borramos.

Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.

Almacenamos las IPs desde la que se envían las valoraciones para evitar fraudes

Francisco Javier Carazo Gil

Compartir
Publicado por
Francisco Javier Carazo Gil
Etiquetas: borradolog

Entradas recientes

Checkout seguro: cobra sin perder conversiones

Configura un checkout seguro en WordPress y WooCommerce para proteger pagos, reducir errores de integración…

hace % días

Checkout seguro: cobra sin perder conversiones

Configura un checkout seguro en WordPress y WooCommerce para proteger pagos, reducir errores de integración…

hace % días

¿Qué aporta la integración de Bizum y métodos similares en el proceso de pago?

El comercio electrónico español, que se encuentra en pleno crecimiento y transformación, vive actualmente un…

hace % días

Mejores addons para suscripciones WooCommerce

Compara los mejores addons para suscripciones WooCommerce y elige pagos, membresías y automatizaciones compatibles con…

hace % días

Mejores addons para suscripciones WooCommerce

Compara los mejores addons para suscripciones WooCommerce y elige pagos, membresías y automatizaciones compatibles con…

hace % días

Desarrollo de plugins a medida WordPress

El desarrollo de plugins a medida WordPress resuelve pagos, reservas y flujos propios con integración…

hace % días