Die mit der AIR-Anwendung installierten Dateien haben Zugriff auf die AIR-APIs. Aus Sicherheitsgründen gilt dies nicht für Inhalt aus anderen Quellen. Diese Einschränkung verhindert zum Beispiel, dass Code aus einer Remotedomäne (wie z. B. http://example.com) den Inhalt des Desktopverzeichnisses eines Benutzers (oder sonstige vertrauliche Informationen) liest.
Aufgrund von Sicherheitslücken, die durch Aufrufen der
eval()
-Funktion (und zugehöriger APIs) ausgenutzt werden können, kann mit der Anwendung installierter Inhalt diese Methoden standardmäßig nicht verwenden. Einige Ajax-Architekturen rufen jedoch die
eval()
-Funktion und die zugehörigen APIs auf.
Für die ordnungsgemäße Strukturierung von Inhalt, damit er in einer AIR-Anwendung verwendet werden kann, müssen Sie die Regeln für Sicherheitsbeschränkungen für Inhalt aus unterschiedlichen Quellen berücksichtigen. Inhalt aus unterschiedlichen Quellen wird in separaten, als Sandboxen bezeichneten Sicherheitsklassifizierungen (siehe
Sicherheits-Sandboxen
) abgelegt. Der mit der Anwendung installierte Inhalt wird standardmäßig in einer so genannten
Anwendungs
-Sandbox installiert. Damit hat er Zugriff auf die AIR-APIs. Die Anwendungs-Sandbox ist normalerweise die sicherste aller Sandboxen und ihre Beschränkungen verhindern die Ausführung nicht vertrauenswürdigen Codes.
Die Laufzeitumgebung ermöglicht es Ihnen, mit der Anwendung installierten Inhalt in einer von der Anwendungs-Sandbox abweichenden Sandbox zu laden. Inhalt in anderen Sandboxen befindet sich in einer Sicherheitsumgebung, die der Sicherheitsumgebung eines gängigen Webbrowsers ähnelt. Code in anwendungsfremden Sandboxen kann beispielsweise
eval()
und ähnliche Methoden verwenden (aber nicht auf die AIR-APIs zugreifen). Die Laufzeitumgebung umfasst Möglichkeiten, mit denen Inhalt in anderen Sandboxen sicher kommunizieren kann (z. B. ohne die AIR-APIs anwendungsfremdem Inhalt auszusetzen). Weitere Informationen finden Sie unter
Cross-Scripting von Inhalten in unterschiedlichen Sicherheits-Sandboxen
.
Wenn Sie Code aufrufen, dessen Verwendung in einer Sandbox aus Sicherheitsgründen beschränkt ist, löst die Laufzeitumgebung einen JavaScript-Fehler aus: „Adobe AIR runtime security violation for JavaScript code in the application security sandbox“ (Sicherheitsverstoß gegen Adobe AIR-Laufzeitumgebung für JavaScript-Code in der Sicherheits-Sandbox der Anwendung).
Halten Sie sich an die im nächsten Abschnitt,
Vermeiden von sicherheitsbezogenen JavaScript-Fehlern
, beschriebenen Kodierungspraktiken, um diesen Fehler zu vermeiden.
Weitere Informationen finden Sie unter
HTML-Sicherheit in Adobe AIR
.