È sicuro registrare le eccezioni JavaScript nella console degli errori?

1

So che sul lato server è molto brutto visualizzare errori a livello di sistema invece di loggarli su disco, perché potrebbe esporre informazioni potenzialmente sensibili, ma le stesse preoccupazioni si applicano ai linguaggi lato client come JavaScript?

per es.,

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

Poiché tutto è già accessibile al browser / utente, non riesco a pensare a problemi reali.

L'unica cosa che ho trovato sul web era un esempio di uscita di una password su un modulo di accesso :

But the troublesome thing is that there may be an easy temptation to console.log() something very sensitive, like console.log(password_entered). [...] the fact that they obviously have a process in place which does not properly filter out [temporary debugging output] means that at some point they may accidentally expose something they would otherwise not want to (or their users wouldn’t want!).

Sono paranoico come il prossimo, ma mi sembra un po 'sciocco. Anche in un caso estremo come una password che viene esposta, un utente malintenzionato che è stato in grado di visualizzarlo non ha già tutto l'accesso di cui ha bisogno? O sto trascurando qualcosa?

    
posta Ian Dunn 24.03.2015 - 23:54
fonte

2 risposte

3

È sicuro poiché tutto sul lato client è, per definizione, già accessibile dal lato client.

Se sei preoccupato che la password venga esposta e letta dai passanti sullo schermo dell'utente, i normali utenti non avranno la console attiva. Se lo facessero, sarebbe anche possibile vedere la password inserita tramite la scheda Rete:

Schermatatrattada questa domanda .

Sarebbe comunque opportuno disabilitare l'output di debug della console nei siti di produzione. Per la pre-produzione potrebbe essere saggio filtrare le password nel caso in cui vengano copiate accidentalmente in segnalazioni di bug, ma poiché si tratta di account di test, il rischio dovrebbe essere basso.

    
risposta data 25.03.2015 - 09:49
fonte
0

È sicuro semplicemente perché anche l'attaccante meno esperto può semplicemente aggiungere il proprio. E il java-script è solo in grado di riconoscere ciò che l'utente finale già conosce in ogni caso.

Ma su quella nota è anche una cattiva pratica di programmazione produrre output di console eccessivi.

    
risposta data 25.03.2015 - 01:48
fonte

Leggi altre domande sui tag