I file che installate con l'applicazione AIR hanno accesso alle API di AIR. Per ragioni di sicurezza, ciò non vale per il contenuto proveniente da altre origini. Ad esempio, questa limitazione impedisce al contenuto di un dominio remoto (ad esempio, http://example.com) di leggere il contenuto della directory Desktop dell'utente o effettuare attività più dannose.
Poiché esistono falle nella sicurezza che possono essere sfruttate attraverso una chiamata alla funzione
eval()
(e API correlate), per impostazione predefinita il contenuto installato con l'applicazione ha limitazioni relativamente all'impiego di tali metodi. Tuttavia alcuni framework Ajax usano la chiamata alla funzione
eval()
e alle API correlate.
Per strutturare correttamente il contenuto in modo da poterlo usare in un'applicazione AIR, dovete tenere in considerazione le regole sulle limitazioni della sicurezza per il contenuto proveniente da origini diverse. Il contenuto che proviene da origini diverse viene collocato in categorie di sicurezza distinte, chiamate sandbox (vedete
Sandbox di sicurezza
). Per impostazione predefinita, il contenuto installato con l'applicazione si trova in una
sandbox dell'applicazione
, per garantire al contenuto di poter accedere alle API di AIR. La sandbox dell'applicazione in genere è la sandbox più sicura, in quanto prevede restrizioni che impediscono l'esecuzione di codice non affidabile.
Il runtime vi consente di caricare il contenuto installato con l'applicazione creata in una sandbox diversa dalla sandbox dell'applicazione. Il contenuto nelle sandbox non dell'applicazione opera in un ambiente di sicurezza simile a quello di un tipico browser Web. Ad esempio, il codice nelle sandbox non dell'applicazione può usare la funzione
eval()
e i metodi correlati (ma allo stesso tempo non può accedere alle API di AIR). Il runtime permette al contenuto di sandbox diverse di comunicare in sicurezza in vari modi (senza esporre le API di AIR al contenuto non dell'applicazione, ad esempio). Per ulteriori informazioni, consultate
Scambio di script per il contenuto presente in sandbox di sicurezza diverse
.
Se chiamate un codice che per ragioni di sicurezza ha limitazioni d'uso in una sandbox, il runtime invia l'errore JavaScript “Adobe AIR runtime security violation for JavaScript code in the application security sandbox” (Violazione della sicurezza di Adobe AIR in fase di runtime per il codice JavaScript nella sandbox dell'applicazione).
Per evitare questo errore, attenetevi alle pratiche di programmazione descritte nelle sezione successiva,
Errori JavaScript relativi alla sicurezza da evitare
.
Per ulteriori informazioni, vedete
Sicurezza HTML in Adobe AIR
.