I Adobe AIR-körningstiden läggs en extra sandlåda till, som kallas
program
sandlådan, i modellen för säkerhetssandlåda i Flash Player. De filer som installeras som en del av ett AIR-program läses in i programsandlådan. Alla andra filer som läses in av programmet har säkerhetsrestriktioner som motsvarar de som är angivna i den vanliga säkerhetsmodellen för Flash Player.
När ett program installeras, installeras alla filer som finns i ett AIR-paket till en programkatalog på användarens dator. Utvecklare kan använda URL-schemat
app:/
för att hänvisa till den här katalogen med kod (se
URI-scheman
). Alla filer inuti programkatalogträdet tilldelas till programsandlådan när programmet körs. Innehåll i programsandlådan har de fullständiga behörigheter som är tillgängliga för ett AIR-program, inklusive interaktion med det lokala filsystemet.
Många AIR-program använder bara dessa lokalt installerade filer för att köra programmet. AIR-program är dock inte begränsade till bara filerna i programkatalogen - de kan läsa in alla typer av filer från alla källor. Detta inkluderar filer som är lokala på användarens dator och filer från tillgängliga fjärrkällor, som till exempel filer på ett lokalt nätverk eller på Internet. Filtyper har ingen påverkan på säkerhetsrestriktioner. Inlästa HTML-filer har samma säkerhetsbehörighet som inlästa SWF-filer från samma källa.
Innehåll i programsäkerhetssandlådan har tillgång till AIR-API:n som innehåll i andra sandlådor inte har tillgång till. Egenskapen
air.NativeApplication.nativeApplication.applicationDescriptor
, som returnerar innehållet i programbeskrivningsfilen för programmet, är till exempel begränsad till innehåll i programsäkerhetssandlådan. Ett annat exempel på ett begränsat API är klassen FileStream som innehåller metoder för att läsa och skriva i det lokala filsystemet.
ActionScript-API:er som endast är tillgängliga för innehåll i programsäkerhetssandlådan markeras med AIR-logotypen i
Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen
. Om dessa API:er används i andra sandlådor, initierar körtiden ett SecurityError-undantag.
För HTML-innehåll (i ett HTMLLoader-objekt) är alla AIR-JavaScript-API:n (de som är tillgängliga via egenskapen
window.runtime
, eller via objektet
air
när filen AIRAliases.js används) tillgängliga för innehåll i programsäkerhetssandlådan. HTML-innehåll i en annan sandlåda har inte åtkomst till egenskapen
window.runtime
, och därför kan inte innehållet komma åt API:erna för AIR eller Flash Player.
Följande ytterligare begränsningar gäller för innehållskörning inne i AIR-programmet:
-
HTML-innehåll i programsäkerhetssandlådan har begränsningar i att använda API:er som kan omforma strängar dynamiskt till körbar kod efter att koden har lästs in. Detta är till för att förhindra programmet från att av misstag föra in (och köra) kod från källor som inte tillhör programmet (som till exempel potentiellt osäkra nätverksdomäner). Ett exempel är användningen av funktionen
eval()
. Detaljer finns under
Kodrestriktioner för innehåll i olika sandlådor
.
-
För att förhindra möjliga nätfiskeattacker ignoreras
img
-taggar i HTML-innehåll i ActionScript-objekt av typen TextField som ligger i programsäkerhetssandlådan.
-
Innehåll i programsandlådan kan inte använda protokollet
asfunction
i HTML-innehåll i textfält av typen ActionScript 2.0.
-
SWF-innehåll i programsandlådan kan inte använda korsdomän-cachen, vilket är en funktion som lades till i uppdatering 3 av Flash Player 9. Med den här funktionen kan Flash Player lagra Adobe-plattformskomponentinnehåll beständigt och återanvända det i SWF-innehåll vid behov (vilket eliminerar behovet att läsa in innehållet igen flera gånger).