Ho letto alcune delle grandi risposte all'archiviazione e al passaggio delle chiavi di sessione in un'applicazione web a pagina singola (ad esempio, un "sito" web che funziona principalmente sul lato client, ottenendo dati dal server utilizzando un'API ). Ma la mia domanda riguarda la messa in sicurezza (dopo il logout) dei dati che ritornano nella risposta, di cui non ho visto alcuna menzione.
Questi dati sono direttamente accessibili da qualsiasi browser moderno facendo clic sulla vista degli strumenti di sviluppo (anche quando si utilizza HTTPS). Pertanto, può succedere quanto segue:
- Utente autenticato (AU) utilizza l'applicazione e scarica le informazioni protette.
- AU si disconnette o si disconnette automaticamente.
- L'applicazione ritorna alla pagina "Login". Sembra sicuro, quindi AU non chiude la scheda / pagina.
- Tuttavia, Utente (malintenzionato) non autenticato (UU) siede alla scrivania e apre gli strumenti di sviluppo. Nella sezione Rete, l'UU può vedere oggetti JSON strutturati con molte informazioni succose.
Questo non accade in un'applicazione web più tradizionale, perché i dati sono incorporati nella pagina HTML, che è scomparsa quando il browser reindirizza alla pagina di accesso.
Usiamo AngularJS per la nostra app Web a pagina singola, che consiglia di utilizzare una funzionalità di modifica della posizione per il logout, che ho confermato non esegue un reindirizzamento effettivo (in base alla progettazione); quindi la pagina non viene aggiornata; quindi le richieste di rete possono essere trovate nella sezione sviluppatori.
Sembra che la strada da percorrere sia quella di NON utilizzare il metodo AngularJS e invece di rompere il modello e utilizzare il reindirizzamento javascript puro per aggiornare il sito nella pagina di accesso. Questo sembra cancellare le richieste di rete. È questo il metodo consigliato?
Mi rendo conto che avere accesso al browser significa che l'UU può installare keylogging, cattura dello schermo e tutti i tipi di cose che sono anche peggiori di questo scenario, e non c'è nulla che possiamo fare al riguardo, ma lo scenario che sto descrivendo qui è uno scenario di ufficio molto comune in cui gli utenti occasionali possono sedersi velocemente su un browser e spiare alcune informazioni senza fare molto lavoro. Dato che abbiamo a che fare con informazioni sanitarie protette, rimane una preoccupazione.