In questo caso mi imbatterò in attacchi XSS o verrà richiesto un download di file?
Ci sono problemi di sicurezza che potrebbero sorgere in un browser moderno?
In questo caso mi imbatterò in attacchi XSS o verrà richiesto un download di file?
Ci sono problemi di sicurezza che potrebbero sorgere in un browser moderno?
Am I gonna run into XSS attacks by doing this
Sì.
 Il testo / plain- > text / html content-type-sniffing problema menzionato da curiousguy è l'attacco più probabile, ma ci sono anche molti più casi in cui browser e plugin fanno content-sniffing; spesso questi sono immuni a   X-Content-Type-Options    e   Content-Disposition:   . 
 Ad esempio lo schema URL   jar:    in Firefoxen vecchio, applet Java e iniezione di criteri crosspointini Flash (   loadPolicyFile   ). 
L'unico modo sicuro per fornire contenuti arbitrari non attendibili senza essere a rischio di XSS è di servirlo da un dominio diverso * che non condivide un'origine con il tuo sito principale.
 *: varianti: il dominio di secondo livello completamente diverso con indirizzo IP diverso è più stretto. Ci sono problemi con le applet che sono in grado di fare connessioni di rete con lo stesso indirizzo IP anche se il dominio è diverso sotto Java. L'utilizzo di un sottodominio  può  essere OK soggetto a limitazioni - se è   files.example.com    il sito principale in quel caso dovrebbe essere su   www.example.com    e  non    example.com   , a evitare che il sottodominio possa leggere i cookie dal genitore. Può ancora scrivere cookie, che in alcuni casi possono causare problemi. L'utilizzo di un indirizzo IP diretto per i contenuti non attendibili è un'altra alternativa ragionevole se non desideri acquistare un dominio separato. 
 Alcuni browser  molto danneggiati  (in particolare vecchie versioni di IE) cercano di "snif" il tipo di contenuto "vero" e si comportano come se il tipo di contenuto fosse   text/html   . 
 Forse puoi provare a mettere in blacklist i suddetti browser, in base allo user-agent o fornendo HTML come testo e verificando se il browser esegue JavaScript in   text/plain   . 
 Se vuoi che il browser salvi il file anziché visualizzarlo, prova   Content-Disposition    (ad esempio   Content-Disposition: Attachment; filename=example.txt   ). 
 Puoi anche utilizzare     X-Content-Type-Options: nosniff    Intestazione HTTP specifica per IE  per  impedisce lo sniffing MIME  delle risorse HTTP   text/plain   . 
Sites hosting untrusted content can use the nosniff directive to ensure that text/plain files are not sniffed to anything else.
Leggi altre domande sui tag http web-hosting web-browser xss file-upload