De filer som du installerar med AIR-programmet har åtkomst till programmeringsgränssnitten i AIR. Av säkerhetsskäl gäller inte detta innehåll från andra källor. Den här begränsningen förhindrar till exempel innehåll från en fjärrdomän (t.ex. http://exempel.com) från att läsa innehållet i användarens skrivbordskatalog (eller ännu värre).
Eftersom det finns säkerhetsluckor som kan utnyttjas genom att anropa funktionen
eval()
(och tillhörande programmeringsgränssnitt), så är det innehåll som installeras tillsammans med programmet som standard begränsat och kan inte använda de här metoderna. Vissa Ajax-ramverk använder dock anrop av funktionen
eval()
och tillhörande programmeringsgränssnitt.
För att du ska kunna strukturera innehåll som ska användas och fungera i ett AIR-program, måste du ta hänsyn till de regler för säkerhetsbegränsning som finns för innehåll från olika källor. Innehåll från olika källor placeras i separata säkerhetsklasser, så kallade sandlådor (se
Säkerhetssandlådor
). Innehåll som installeras med programmet installeras som standard i en sandlåda som kallas
program
sandlådan och det gör att innehållet får åtkomst till programmeringsgränssnitten i AIR. Programsandlådan är vanligtvis den säkraste sandlådan och dess begränsningar har utformats för att förhindra att otillförlitlig kod körs.
Runtime-modulen tillåter att du läser in innehåll som installerats med programmet i en annan sandlåda än programsandlådan. Innehåll i icke-programsandlådor används i en säkerhetsmiljö som liknar den som finns i en vanlig webbläsare. Kod i icke-programsandlådor kan till exempel använda
eval()
och andra relaterade metoder (men har ändå inte åtkomst till programmeringsgränssnitten i AIR). I runtime-modulen finns olika sätt att få innehåll i olika sandlådor att kommunicera på ett säkert sätt (utan att till exempel exponera programmeringsgränssnitt i AIR för icke-programinnehåll). Mer information finns i
Korsskriptning av innehåll i olika säkerhetssandlådor
.
Om du anropar kod som är begränsad från användning i en sandlåda av säkerhetsskäl skickar runtime-modulen ett JavaScript-fel av liknande typ: ”Säkerhetsöverträdelse i Adobe AIR vid körning av JavaScript-kod i programmets säkerhetssandlåda.”
Om du vill undvika det här felet följer du de kodningsrutiner som beskrivs i nästa avsnitt,
Undvika säkerhetsrelaterade JavaScript-fel
.
Du hittar mer information i
HTML-säkerhet i Adobe AIR
.