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

¿Por qué falla Bizum en WooCommerce? 9 causas

Por qué falla Bizum WooCommerce: detecta errores de credenciales, firma, entorno y pedidos para recuperar…

hace % días

Plugin gratuito Redsys WordPress: qué revisar

Elige un plugin gratuito Redsys WordPress con criterio: compatibilidad, seguridad, configuración bancaria y límites para…

hace % días

Qué necesito para activar CECA Online en mi web

¿Qué necesito para activar CECA Online? Revisa contrato bancario, datos del terminal, seguridad, pruebas y…

hace % días

Cómo elegir una pasarela para suscripciones

Aprende a elegir una pasarela para suscripciones en WordPress: revisa recurrencia, compatibilidad, seguridad y soporte…

hace % días

Plugin Bizum WordPress para cobrar con control

Elige un plugin Bizum WordPress compatible con tu flujo de venta, configura la pasarela bancaria…

hace % días

Cómo aceptar CECA en reservas de WordPress

Aprende cómo aceptar CECA en reservas WordPress, configurar pagos seguros y confirmar cada reserva sin…

hace % días