Oggetti condivisi

Flash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive

Flash Player consente di usare oggetti condivisi , vale a dire oggetti di ActionScript che persistono al di fuori dei file SWF, sia a livello locale su un file system di un utente o in remoto su un server RTMP. Gli oggetti condivisi, come altri file multimediali di Flash Player, sono suddivisi in sandbox di sicurezza. Tuttavia, il modello sandbox degli oggetti condivisi è un po' differente, in quanto gli oggetti condivisi non sono risorse accessibili da un dominio a un altro. Al contrario, gli oggetti condivisi vengono sempre recuperati da un apposito archivio specifico del dominio di ciascun file SWF che chiama i metodi della classe SharedObject. Generalmente, l’archivio degli oggetti condivisi è ancora più particolare di un dominio di file SWF: per impostazione predefinita ogni file SWF impiega un archivio di oggetti condivisi particolare in base al proprio URL di origine. Per ulteriori informazioni sugli oggetti condivisi, vedete Oggetti condivisi .

Un file SWF può utilizzare il parametro localPath dei metodi SharedObject.getLocal() e SharedObject.getRemote() per usare un archivio di oggetti condivisi associato con solo una parte del proprio URL. In questo modo, il file SWF può consentire la condivisione con altri file SWF di altri URL. Anche se si passate '/' come parametro localPath , ciò specifica comunque un archivio oggetti condiviso particolare del dominio.

Gli utenti possono limitare l'accesso agli oggetti condivisi tramite la finestra di dialogo Impostazioni o Gestione impostazioni di Flash Player. Per impostazione predefinita, è possibile creare oggetti condivisi che contengono un massimo di 100 KB di dati per dominio. Gli utenti con privilegi amministrativi e gli utenti standard possono anche limitare la possibilità di scrivere sul file system. Per ulteriori informazioni, vedete Controlli amministratore e Controlli utente .

Per impostare la protezione di un oggetto condiviso, specificate true per il parametro secure del metodo SharedObject.getLocal() o del metodo SharedObject.getRemote() . Per quanto riguarda il parametro secure , tenete presente quanto segue:

  • Se il parametro viene impostato su true , Flash Player crea un nuovo oggetto condiviso protetto oppure acquisisce un riferimento all'oggetto condiviso protetto esistente. Questo oggetto condiviso protetto può essere letto o scritto solo da/su file SWF distribuiti tramite HTTPS che chiamano SharedObject.getLocal() con il parametro secure impostato su true .

  • Se il parametro viene impostato su false , Flash Player crea un nuovo oggetto condiviso oppure ottiene un riferimento a un oggetto condiviso esistente che può essere letto o scritto dai file SWF distribuiti mediante connessioni non HTTPS.

Se il file SWF chiamante non proviene da un URL HTTPS e si specifica true per il parametro secure del metodo SharedObject.getLocal() o del metodo SharedObject.getRemote() , viene generata un'eccezione SecurityError.

La scelta di un archivio di oggetti condivisi si basa sull'URL di origine del file SWF. Ciò si verifica anche nelle due situazioni in cui un file SWF non ha origine da un semplice URL, vale a dire nei casi di caricamento mediante importazione e di caricamento dinamico. Il caricamento mediante importazione avviene quando un file SWF viene caricato con la proprietà LoaderContext.securityDomain impostata su SecurityDomain.currentDomain . In questa situazione, il file SWF caricato presenta uno pseudo URL che inizia con il dominio del file SWF caricante, quindi specifica l'effettivo URL di origine. Il caricamento dinamico si riferisce al caricamento di un file SWF mediante il metodo Loader.loadBytes() . In questa situazione, il file SWF caricato avrà uno pseudo URL che inizia con l'intero URL del file SWF che esegue il caricamento, seguito da un ID di numero intero. In entrambi i casi, è possibile esaminare lo pseudo URL del file SWF utilizzando la proprietà LoaderInfo.url . Lo pseudo URL viene trattato esattamente come un vero URL allo scopo di scegliere un archivio di oggetti condivisi. Potete specificare un parametro localPath di oggetto condiviso che impiega in parte o per intero lo pseudo URL.

Utenti e amministratori possono scegliere di disabilitare l'uso di oggetti condivisi di terze parti . Si tratta dell'impiego di oggetti condivisi da parte di qualsiasi file SWF che viene eseguito in un browser Web, quando l'URL di origine di tale file SWF appartiene a un dominio diverso dall'URL visualizzato nella barra degli indirizzi del browser. Utenti e amministratori possono scegliere di disabilitare l'uso di oggetti condivisi di terze parti per motivi di riservatezza, per evitare la cattura di dati di traccia tra domini. Per evitare questa limitazione, potete fare in modo che qualsiasi file SWF che usa oggetti condivisi venga caricato unicamente all'interno delle strutture di pagine HTML, al fine di garantire che il file SWF provenga dallo stesso dominio visualizzato nella barra degli indirizzi del browser. Quando tentate di usare oggetti condivisi di un file SWF di terze parti, e l'uso di oggetti condivisi di terze parti è disabilitato, i metodi SharedObject.getLocal() e SharedObject.getRemote() restituiscono il valore null . Per ulteriori informazioni, vedete www.adobe.com/it/products/flashplayer/articles/thirdpartylso .