Ir al contenido principal

Desactivar informe de errores de PHP

Actualizado hace más de 3 meses

Desactivar el informe de errores de PHP en WordPress puede hacer que el sitio sea más seguro porque los mensajes de error pueden revelar información sensible sobre el sistema que los atacantes podrían utilizar para explotar vulnerabilidades. Aquí tienes las razones principales:

1. Revelación de información sensible

  • Los mensajes de error a menudo incluyen detalles sobre la estructura del servidor, rutas de archivos, versiones de software, nombres de bases de datos, o configuraciones específicas.

  • Por ejemplo, un error podría mostrar una ruta completa como /var/www/html/wp-content/plugins/plugin-name/archivo.php, lo que da pistas sobre cómo está organizado el sitio.

2. Facilitación de ataques dirigidos

  • Con información como la versión de PHP, la ubicación de ciertos archivos o los nombres de plugins y temas, un atacante puede identificar vulnerabilidades específicas y adaptar su ataque.

  • Por ejemplo, si un error muestra un archivo de un plugin conocido, un atacante podría buscar vulnerabilidades conocidas en ese plugin.

3. Exposición de fallos en plugins o temas

  • Los errores pueden señalar directamente qué plugin o tema está causando el problema. Esto facilita que un atacante aproveche fallos específicos o utilice exploits disponibles públicamente.

4. Impacto en la experiencia del usuario

  • Mostrar errores de PHP puede generar desconfianza en los visitantes, ya que ven problemas técnicos visibles. Aunque no sea una vulnerabilidad directa, afecta la percepción de profesionalismo y seguridad del sitio.

-> Cómo desactivar el informe de errores en WordPress

Puedes desactivar el informe de errores de PHP en WordPress modificando el archivo de configuración, que normalmente por defecto es el "wp-config.php". Agrega o asegúrate de que las siguientes líneas estén configuradas correctamente:

O si encuentras unas líneas que pongan lo siguiente:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
@ini_set('display_errors', 1);

Deberá substituirlas por estas :

ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

¿Ha quedado contestada tu pregunta?