2009-11-28 10 views

risposta

8

In generale, un file SWF da un server Web non può leggere i file dal computer client. Ma può caricare i file selezionati dall'utente dal computer client al server. Una finestra di dialogo specifica del sistema operativo richiede all'utente di selezionare il file da caricare sul server. Quindi Flash non può leggere alcun file che desideri, solo quelli che sono esplicitamente permessi dall'utente.

Prima del Flash Player 10, il file SWF non ha avuto accesso diretto al contenuto del file in fase di caricamento - tutto ciò che ha fatto è stato come interfaccia per selezionare il file e inviarlo al server. L'unico modo per ottenere il suo contenuto era di rimandarlo dal server al SWF usando URLLoader.

Tuttavia a partire dal FP10, la classe FileReference ha load() metodo che permette di caricare l'utente selezionato file direttamente il file SWF, invece di passare attraverso il server.

Regole simili si applicano al download: i file possono essere salvati nella macchina dell'utente solo con la loro autorizzazione e nella posizione e nome specificati dall'utente. Prima del 10 ° PQ, si poteva solo scaricare un file dal server al client - se si doveva salvare qualche immagine creata usando il SWF sul computer client, si doveva inviarlo al server e poi richiedere all'utente di scaricarlo. A partire dal 10 ° PQ, è possibile scrivere i dati direttamente da SWF (con l'autorizzazione dell'utente, ovviamente).


Oltre a questi, un file SWF può memorizzare SharedObjects nella macchina client che è analoga ai cookie del browser. La memorizzazione di oggetti condivisi non comporta alcuna finestra di dialogo o permessi dell'utente. Quanto segue è citato dalla pagina livedocs collegata a sopra.

Gli oggetti locali condivisi presentano alcune limitazioni importanti da considerare durante la progettazione dell'applicazione. A volte i file SWF potrebbero non essere autorizzati a scrivere oggetti condivisi locali e, a volte, i dati memorizzati negli oggetti condivisi locali possono essere eliminati a tua insaputa. Gli utenti di Flash Player possono gestire lo spazio su disco disponibile per i singoli domini o per tutti i domini. Quando gli utenti riducono la quantità di spazio disponibile sul disco, alcuni oggetti locali condivisi potrebbero essere eliminati. Gli utenti di Flash Player dispongono inoltre di controlli sulla privacy che possono impedire ai domini di terze parti (domini diversi dal dominio nella barra degli indirizzi del browser corrente) di leggere o scrivere oggetti locali condivisi.

1

Flash player ha un meccanismo di sicurezza chiamato sandbox che protegge i file locali dell'utente, come utente che non si desidera che uno script flash abbia accesso ai propri file privati.

Ci sono 2 modi che si può ottenere l'accesso a questi file: 1) l'utente concede Flash Player l'accesso a una determinata cartella (tasto destro del mouse sul lettore flash -> Impostazioni -> Avanzate -> sicurezza) 2) usa Adobe adobe che avvolge il flash player con un bridge eseguibile che consente l'accesso al file system -> questa non sarà un'applicazione web ma un programma installato dall'utente.

Flash ha un uploader di file che potrebbe aiutare consentendo agli utenti di caricare file manualy al vostro programma se questo aiuta

+1

Mi rendo conto che la vostra risposta è molto tempo fa. Tuttavia, il termine NON è "sanbox", è "sandbox", vedi https://en.wikipedia.org/wiki/Sandbox_(computer_security). Il collegamento nella tua domanda da "sanbox" sembra essere morto e indirizza a una pagina generica. Poiché questa domanda era nella prima pagina di una ricerca su google che ho appena fatto e la tua risposta aggiunge ancora alcune informazioni utili, potrebbe essere utile migliorare la tua risposta, usare "sandbox" e linkare qualcosa come wkipedia. – gbulmer

+0

Risolto, grazie! – Eran