Javascript: caricare in modo sicuro un file di dati del client

1

Sto (ancora) lavorando su un programma di editing XML basato su template. È un editor XML basato sulla GUI che consente agli utenti di aggiungere determinati tag e attributi in base ai requisiti. Puoi vedere la versione corrente qui per un'idea.

Ora vorrei consentire agli utenti di caricare i propri modelli di dati, ma sono preoccupato per potenziali attacchi XSS. Attualmente, il file modello è in notazione letterale dell'oggetto Javascript, il che non sorprende è un incubo di sicurezza se il l'utente può caricare il proprio. Stavo pensando di usare XML invece, ma c'è un'alternativa ancora migliore?

    
posta Jeffrey Sweeney 31.05.2012 - 14:13
fonte

1 risposta

2

Finché l'unica persona a vedere cosa è stato caricato è l'utente che l'ha fatto, quindi per definizione non si tratta di cross-site scripting e non di un problema di sicurezza. (L'utente può già rompere il proprio browser per il contenuto del suo cuore)

Potrebbe tuttavia diventare un problema di usabilità e potresti voler proteggere l'utente da un'interruzione del sistema tramite modelli non validi.

Inoltre, se stai pensando di consentire agli utenti di condividere modelli, potrebbe avere senso avere un sistema di modelli sicuro. Questo potrebbe tuttavia significare solo che analizzi il caricamento con un parser json (e possibilmente memorizzi il risultato dell'analisi, non l'originale), e rifiuti tutto ciò che fallisce il parser.

    
risposta data 08.06.2012 - 10:48
fonte

Leggi altre domande sui tag