Accesso ad altri file locali da un file HTML locale

7

Ho provato questo domanda sul sito dei programmatori senza fortuna

Riesci a vedere qualche motivo per bloccare un file html locale dall'accesso a un altro file locale che si trova nella stessa cartella?

Voglio dire, se un utente ha scaricato un'app html (composta da diversi file html) e l'ha aperta nel suo browser, perché dovrebbe voler impedire a questa app locale di accedere a un altro file nella stessa cartella? Le app desktop tradizionali hanno diritti di accesso molto più ampi. Normalmente gli utenti non salveranno i file html e li apriranno in un browser. Perché bloccare l'accesso locale?

    
posta Vanuan 11.05.2011 - 22:32
fonte

1 risposta

10

Le regole effettive di cui un file html locale può accedere dipendono dal browser. Chrome è molto più rigido di altri browser. Firefox consente di accedere ai file nella stessa cartella e in basso nella gerarchia delle cartelle per quanto mi ricordo.

Le persone comuni con conoscenze di base poco approfondite possono salvare un file html con una ricetta di cucina, un estratto di un libro, una guida di viaggio, ecc. nella loro cartella home. Non fanno eccezione che un documento del genere sia pericoloso. Tenendo presente questo, sembra ragionevole, per impedire ai file .html salvati di accedere ad altri file locali.

Per citare qualcuno sul rapporto bug di riferimento:

who cares if a webpage can read your credit card numbers by blinding guessing filenames in your profile directory, it can't actually do anything with them if access to internet resources is properly restricted.

La condizione nella parte "se" non è soddisfatta: la stessa politica di origine non si applica ai file di immagine e agli script caricati tramite il tag dello script, per citare solo due esempi. Pertanto, un JavaScript in esecuzione locale può perdere informazioni su un server su Internet codificandolo in un URL.

Soprattutto il salvataggio nella cartella home è problematico, perché almeno sui sistemi unix - ci sono file ben noti con informazioni sensibili come: mbox, .gnupg / secring.gpg, .ssh / id_rsa, .ssh / id_rsa. pub.

Fornire un server http locale senza installazione è una soluzione per questo problema.

    
risposta data 11.05.2011 - 23:06
fonte

Leggi altre domande sui tag