Pliki instalowane z aplikacją AIR mają dostęp do interfejsu API środowiska AIR. Ze względów bezpieczeństwa treść z innych źródeł nie ma tego dostępu. Na przykład: ograniczenie to uniemożliwia treści ze zdalnej domeny (np. http://example.com) na odczyt treści z katalogu pulpitu użytkownika (lub gorzej).
Ponieważ istnieją luki bezpieczeństwa, które mogą zostać wykorzystane przez wywołanie funkcji
eval()
(i powiązane interfejsy API), domyślnie treść zainstalowana z aplikacją została ograniczona przed używaniem tych metod. Jednak niektóre środowiska Ajax używają funkcji
eval()
i powiązanych interfejsów API.
Aby poprawnie zbudować treść do pracy w aplikacji AIR, należy wziąć pod uwagę reguły ograniczeń bezpieczeństwa dla treści z różnych źródeł. Treść z różnych źródeł umieszczana jest w oddzielnych klasyfikacjach bezpieczeństwa nazywanych obszarami izolowanymi (patrz
Obszary izolowane
). Domyślnie treść instalowana z aplikacją instalowana jest w obszarze izolowanym nazywanym obszarem izolowanym
aplikacji
, co daje jej dostęp do interfejsów API środowiska AIR. Obszar izolowany aplikacji jest zazwyczaj najbezpieczniejszym obszarem izolowanym z ograniczeniami zaprojektowanymi do zapobiegania wykonania niezaufanego kodu.
Środowisko wykonawcze umożliwia załadowanie treści zainstalowanej z aplikacją do obszaru izolowanego innego niż obszar izolowany aplikacji. Treść w nieaplikacyjnym obszarze izolowanym działa w środowisku bezpieczeństwa podobnym do środowiska typowej przeglądarki internetowej. Na przykład: kod w nieaplikacyjnym obszarze izolowanym może użyć funkcji
eval()
i powiązanych metod (ale w tym samym czasie dostęp do interfejsów API środowiska AIR jest niedozwolony). Środowisko wykonawcze zawiera różne sposoby na bezpieczną komunikację treści z innych obszarów izolowanych (np. bez udostępniania interfejsów API środowiska AIR dla treści nieaplikacyjnej). Szczegóły zawiera sekcja
Treść odwołująca się do skryptów w różnych bezpiecznych obszarach izolowanych
.
Jeśli wywołany zostanie kod, którego użycie zostało ograniczone ze względów bezpieczeństwa, środowisko wykonawcze zgłosi błąd JavaScript o treści podobnej do następującej: „Naruszenie zabezpieczeń środowiska wykonawczego Adobe AIR dla kodu JavaScript w obszarze izolowanym zabezpieczeń aplikacji”.
Aby uniknąć tego błędu, należy zastosować praktyki kodowania opisane w kolejnej sekcji —
Unikanie błędów JavaScript związanych z zabezpieczeniami
.
Więcej informacji zawiera sekcja
Zabezpieczenia HTML w środowisku Adobe AIR
.