¿Es seguro registrar excepciones de JavaScript en la consola de errores?

1

Sé que en el lado del servidor es muy malo mostrar errores a nivel del sistema en lugar de registrarlos en el disco, ya que podría exponer información potencialmente confidencial, pero ¿se aplican las mismas preocupaciones a los idiomas del lado del cliente como JavaScript?

por ejemplo,

try {
    foo();
} catch ( exception ) {
    if ( window.console ) {
        console.log( exception );
    }
}

Ya que todo es accesible para el navegador / usuario, no puedo pensar en problemas reales.

Lo único que pude encontrar en la web fue un ejemplo de cómo generar una contraseña en un formulario de inicio de sesión :

  

Pero lo problemático es que puede haber una tentación fácil para console.log () algo muy sensible, como console.log (password_entered). [...] el hecho de que obviamente tienen un proceso implementado que no se filtra correctamente [salida de depuración temporal] significa que en algún momento pueden exponer accidentalmente algo que de otra forma no desearían (o que sus usuarios no quisieran). !).

Soy tan paranoico como el siguiente tipo, pero eso parece un poco tonto. Incluso en un caso extremo como una contraseña expuesta, ¿un atacante que pudo verla ya no tendría todo el acceso que necesita? ¿O estoy pasando por alto algo?

    
pregunta Ian Dunn 24.03.2015 - 23:54
fuente

2 respuestas

3

Es seguro ya que todo en el lado del cliente es, por definición, ya accesible por el lado del cliente.

Si le preocupa que la contraseña sea expuesta y leída por los transeúntes en la pantalla del usuario, entonces los usuarios normales no tendrán la consola activa. Si lo hicieran, también sería posible ver la contraseña ingresada a través de la pestaña Red:

Capturadepantallatomadade esta pregunta .

Sin embargo, sería una buena práctica deshabilitar la salida de depuración de la consola en los sitios de producción. Para la preproducción, podría ser conveniente filtrar las contraseñas en caso de que se copien accidentalmente en informes de errores, pero estas cuentas de prueba deberían ser bajas.

    
respondido por el SilverlightFox 25.03.2015 - 09:49
fuente
0

Es seguro simplemente porque incluso el atacante menos experto puede simplemente agregar el suyo. Y el java-script es solo realmente sabe lo que el usuario final ya sabe de todos modos.

Pero en esa nota también es una mala práctica de programación producir una salida de consola excesiva.

    
respondido por el Damian Nikodem 25.03.2015 - 01:48
fuente

Lea otras preguntas en las etiquetas