Saltar al contenido

¿Cómo ocultar contraseñas .env en la salida de gritos de Laravel?

Te doy la bienvenida a nuestra comunidad, ahora hallarás la solucíon a lo que buscabas.

Solución:

A partir de Laravel 5.5.13, puede censurar variables enumerándolas bajo el key debug_blacklist en config/app.php. Cuando se lanza una excepción, los gritos enmascararán estos valores con asteriscos. * para cada personaje.

Por ejemplo, dado este config/app.php

return [

    // ...

    'debug_blacklist' => [
        '_ENV' => [
            'APP_KEY',
            'DB_PASSWORD',
            'REDIS_PASSWORD',
            'MAIL_PASSWORD',
            'PUSHER_APP_KEY',
            'PUSHER_APP_SECRET',
        ],
        '_SERVER' => [
            'APP_KEY',
            'DB_PASSWORD',
            'REDIS_PASSWORD',
            'MAIL_PASSWORD',
            'PUSHER_APP_KEY',
            'PUSHER_APP_SECRET',
        ],
        '_POST' => [
            'password',
        ],
    ],
];

Resultados en esta salida:

¡Vaya página de excepción!

En primer lugar, me encanta la solución de Jeff anterior.

Segundo, si como yo quieres ocultar todo el env variables mientras todavía usa gritos, aquí hay una solución:

'debug_blacklist' => [
        '_COOKIE' => array_keys($_COOKIE),
        '_SERVER' => array_keys($_SERVER),
        '_ENV' => array_keys($_ENV),        
    ],

Producción:

ingrese la descripción de la imagen aquí

EDITAR:

  1. Cuenta la leyenda que desde laravel 7x necesitarías debug_hide key en cambio
  2. Si desea ocultar la sesión y las cookies en Ignition (ya que las versiones más nuevas de laravel usan flare/ignition para errores), use esto: Laravel / Ignition: ¿Cómo ocultar la información de sesión de la pestaña Solicitar?

Gracias Jeff y Raheel por ayudarme, pero acabo de encontrar un pequeño problema:

Incluso si limpio todo el entorno keys de _ENVlo mismo keys TODAVÍA están expuestos a través del _SERVER variables enumeradas.

Agregando el siguiente código en config/app.php ocultaría todas las variables de entorno de la página de gritos:

'debug_blacklist' => [
        '_SERVER' => array_keys($_ENV),
        '_ENV' => array_keys($_ENV),        
],

Al final de todo puedes encontrar las interpretaciones de otros desarrolladores, tú de igual manera puedes insertar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *