Panoramica sulla sicurezza della piattaforma FlashFlash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive Molti dei modelli di sicurezza utilizzati dai runtime di Flash Player e AIR sono basati sul dominio di origine per i file SWF, il contenuto HTML, i supporti e altre risorse caricate. Il codice eseguibile in un file di un dominio Internet specifico, quale www.example.com, può sempre accedere ai dati di tale dominio. Tali risorse sono inserite nello stesso raggruppamento di sicurezza, conosciuto come funzione di sicurezza sandbox. Per ulteriori informazioni, vedete Funzioni di sicurezza sandbox. Ad esempio, il codice ActionScript in un file SWF può caricare altri file SWF, bitmap, file audio e di testo e qualsiasi altra risorsa appartenente al suo stesso dominio. Inoltre, lo scambio di script tra due file SWF dello stesso dominio è sempre consentito, a condizione che entrambi siano stati scritti con ActionScript 3.0. Lo scambio di script consiste nella capacità del codice di un file di accedere alle proprietà, ai metodi e agli oggetti definiti dal codice in un altro file. Lo scambio di script non è supportato tra file SWF scritti con ActionScript 3.0 e file scritti con versioni precedenti di ActionScript; tuttavia, questi file sono in grado di comunicare tra loro mediante la classe LocalConnection. Inoltre, per impostazione predefinita è impossibile per un file SWF scambiare script con file SWF di ActionScript 3.0 appartenenti ad altri domini e caricare i dati da altri domini; tuttavia, è possibile concedere tale diritto di accesso con una chiamata al metodo Security.allowDomain() all'interno del file SWF caricato. Per ulteriori informazioni, vedete Scambio di script. Le seguenti regole di sicurezza di base vengono sempre applicate per impostazione predefinita:
I runtime Flash Player e AIR considerano i domini seguenti come singoli e impostano funzioni di sicurezza sandbox per ciascuno:
Anche se un dominio con nome, quale http://example.com, viene mappato su un indirizzo IP specifico, quale http://192.0.34.166, i runtime impostano una funzione di sicurezza sandbox specifica per entrambi. Sono disponibili due diversi metodi fondamentali per garantire a un file SWF l'accesso a risorse appartenenti a sandbox diverse da quelle del file stesso:
Nei modelli di sicurezza di Flash Player e AIR si fa distinzione tra caricamento di contenuto ed estrazione o accesso ai dati. Con contenuto si intende qualsiasi tipo di contenuto multimediale, inclusi file multimediali visivi visualizzati dai runtime, file audio, video o file SWF o HTML contenenti file multimediali visualizzati. Con dati si intende qualcosa di accessibile unicamente tramite il codice. È possibile caricare il contenuto e i dati in vari modi diversi:
Il modello di sicurezza di Flash Player definisce varie regole per il caricamento di contenuto e l'accesso ai dati. In generale, vi sono meno limitazioni al caricamento del contenuto rispetto all'accesso ai dati. Il contenuto (file SWF, bitmap, file mp3 e video) può essere caricato ovunque, tuttavia, se si tratta di contenuto appartenente a un dominio diverso da quello del codice o contenuto che carica, esso verrà suddiviso in partizioni in una funzione di sicurezza sandbox separata. Esistono alcune barriere al caricamento di contenuto:
Se il contenuto caricato è un file immagine, audio o video, un file SWF esterno alla sua sandbox può accedere ai dati di tale file, quali dati pixel o dati audio, solo se il dominio del file SWF non è stato incluso in un file di criteri degli URL nel dominio di origine del file multimediale. Per ulteriori informazioni, vedete Accesso a file multimediali caricati come dati Tra le altre forme di dati caricati vi sono file di testo o XML caricati con un oggetto URLLoader. Anche in questo caso, per accedere a dati appartenenti a una funzione di sicurezza sandbox diversa, è necessario ottenere un'autorizzazione mediante un file di criteri degli URL nel dominio di origine. Per ulteriori informazioni, vedete Uso di URLLoader e URLStream Nota: i file di criteri non sono mai richiesti per consentire al codice in esecuzione nella sandbox dell'applicazione AIR di caricare contenuto o dati remoti.
|
|