Überblick über die Sicherheit der Flash-PlattformFlash Player 9 und höher, Adobe AIR 1.0 und höher Ein Großteil des Sicherheitsmodells, das von Flash Player und AIR-Laufzeitumgebungen verwendet wird, basiert auf der Ursprungsdomäne für geladene SWF-Dateien, HTML-Dateien, Medien und andere Elemente. Ausführbarer Code in einer Datei aus einer bestimmten Internetdomäne, beispielsweise www.example.com, kann immer auf alle Daten aus dieser Domäne zugreifen. Diese Daten werden in der gleichen Sicherheitsgruppe abgelegt, die auch als Sicherheits-Sandbox bezeichnet wird. (Weitere Informationen finden Sie unter Sicherheits-Sandboxen.) Beispielsweise kann ActionScript-Code in einer SWF-Datei andere SWF-Dateien, Bitmap-, Audio- und Textdateien sowie andere Daten aus der eigenen Domäne laden. Darüber hinaus ist jederzeit ein Cross-Scripting zwischen SWF-Dateien aus der gleichen Domäne zulässig, sofern beide Dateien mit ActionScript 3.0 geschrieben wurden. Beim Cross-Scripting kann der Code in einer Datei auf die Eigenschaften, Methoden und Objekte zugreifen, die vom Code in einer anderen Datei definiert sind. Cross-Scripting wird jedoch nicht zwischen SWF-Dateien unterstützt, von denen eine mit ActionScript 3.0 und die andere mit früheren Versionen von ActionScript geschrieben wurde. Diese Dateien können jedoch über die LocalConnection-Klasse miteinander kommunizieren. Weiterhin ist ein Cross-Scripting zwischen einer SWF-Datei und mit ActionScript 3.0 geschriebenen SWF-Dateien aus anderen Domänen standardmäßig untersagt. Der Zugriff kann jedoch durch einen Aufruf der Methode Security.allowDomain() in der geladenen SWF-Datei ermöglicht werden. Weitere Informationen finden Sie unter Cross-Scripting. Standardmäßig gelten die folgenden allgemeinen Sicherheitsrichtlinien:
In den Flash Player- und AIR-Laufzeitumgebungen gelten die folgenden Domänen als individuelle Domänen, für die jeweils einzelne Sicherheits-Sandboxen eingerichtet werden:
Auch wenn eine benannte Domäne, wie http://example.com, einer bestimmten IP-Adresse zugeordnet werden kann (z. B. http://192.0.34.166), richten die Laufzeitumgebungen jeweils separate Sicherheits-Sandboxen ein. Es gibt zwei allgemeine Methoden, über die der Entwickler einer SWF-Datei Zugriff auf Datenelemente gewähren kann, die sich in anderen Sandboxen als die SWF-Datei befinden:
In den Sicherheitsmodellen der Flash Player- und AIR-Laufzeitumgebungen wird zwischen dem Laden von Inhalten und dem Extrahieren oder Abrufen von Daten unterschieden. Als Inhalt werden Medien bezeichnet, darunter visuelle Medien, die die Laufzeitumgebungen anzeigen können, sowie Audio, Video oder SWF- oder HTML-Dateien mit angezeigten Medien. Daten sind Elemente, auf die definitionsgemäß nur über Code zugegriffen werden kann. Inhalte und Daten werden auf unterschiedliche Weise geladen.
Das Flash Player-Sicherheitsmodell definiert unterschiedliche Richtlinien für das Laden von Inhalten und den Zugriff auf Daten. Im Allgemeinen gelten weniger Einschränkungen für das Laden von Inhalten als für den Zugriff auf Daten. Normalerweise können Inhalte (SWF-Dateien, Bitmaps, MP3-Dateien und Videos) von allen Speicherorten geladen werden. Befindet sich der Inhalt jedoch in einer anderen Domäne als der ladende Code oder Inhalt, wird er in einer separaten Sicherheits-Sandbox partitioniert. Für das Laden von Inhalten gelten nur wenige Einschränkungen:
Handelt es sich bei dem geladenen Medium um eine Grafik, Audio oder Video, kann eine SWF-Datei, die sich nicht in der gleichen Sicherheits-Sandbox befindet, nur auf die Daten (z. B. Pixel- und Sounddaten) zugreifen, wenn die Domäne dieser SWF-Datei in der Ursprungsdomäne der Medien in eine URL-Richtliniendatei aufgenommen wurde. Weitere Informationen finden Sie unter Zugriff auf geladene Medien als Daten. Weitere Formen von geladenen Daten sind z. B. Text- oder XML-Dateien, die mit einem URLLoader-Objekt geladen werden. Auch in diesem Fall muss der Zugriff auf Daten in einer anderen Sicherheits-Sandbox mittels einer URL-Richtliniendatei in der Ursprungsdomäne genehmigt werden. Weitere Informationen finden Sie unter Verwenden von URLLoader und URLStream. Hinweis: Richtliniendateien sind grundsätzlich nicht erforderlich, damit Code, der in der AIR-Anwendungs-Sandbox ausgeführt wird, Remote-Inhalt oder -Daten laden kann.
|
|