Gemeinsame Objekte

In Flash Player können Sie gemeinsame Objekte verwenden, bei denen es sich um ActionScript-Objekte handelt, die sich außerhalb einer SWF-Datei befinden, entweder lokal auf dem Dateisystem eines Benutzers oder remote auf einem RTMP-Server. Gemeinsame Objekte sind, wie andere Medien in Flash Player, in Sicherheits-Sandboxen partitioniert. Das Sandbox-Modell für gemeinsame Objekte ist jedoch etwas anders, da gemeinsame Objekte keine Ressourcen darstellen, auf die domänenübergreifend zugegriffen wird. Stattdessen werden gemeinsame Objekte immer aus einem gemeinsamen Objektspeicher abgerufen, der nur für die Domäne einer SWF-Datei gilt, die Methoden der SharedObject-Klasse abruft. Ein Speicher für gemeinsame Objekte ist im Allgemeinen noch spezifischer als die Domäne einer SWF-Datei. Standardmäßig verwendet jede SWF-Datei einen Speicher für gemeinsame Objekte, der für die gesamte Ursprungs-URL spezifisch ist.

Eine SWF-Datei kann den Parameter localPath der Methoden SharedObject.getLocal() und SharedObject.getRemote() verwenden, um einem Speicher für gemeinsame Objekte nur einen Teil der URL zuzuweisen. Auf diese Weise kann die SWF-Datei das gemeinsame Nutzen mit anderen SWF-Dateien von anderen URLs zulassen. Auch wenn Sie '/' als localPath-Parameter übergeben, wird immer noch ein Speicherbereich für gemeinsame Objekte angegeben, der nur in der eigenen Domäne gültig ist.

Benutzer können den Zugriff auf gemeinsam genutzte Objekte über das Flash Player-Dialogfeld „Einstellungen“ oder über den Einstellungsmanager einschränken. Für gemeinsam genutzte Objekte gilt standardmäßig eine Obergrenze von 100 KB an Daten pro Domäne. Administratoren und Benutzer können auch Einschränkungen für Schreibberechtigungen auf das Dateisystem festlegen. Weitere Informationen finden Sie unter Kontrolloptionen für Administratoren und Kontrolloptionen für Benutzer.

Durch Einstellen von true für den Parameter secure der SharedObject.getLocal()- oder SharedObject.getRemote()-Methode können Sie angeben, dass ein gemeinsames Objekt sicher ist. Folgendes müssen Sie beim Parameter secure beachten:

  • Falls dieser Parameter auf true gesetzt wird, erstellt Flash Player ein neues sicheres gemeinsam genutztes Objekt oder ruft einen Verweis auf ein vorhandenes sicheres gemeinsam genutztes Objekt ab. Dieses sichere gemeinsam genutzte Objekt kann nur durch SWF-Dateien gelesen oder geschrieben werden, die über HTTPS bereitgestellt werden und SharedObject.getLocal() mit der Einstellung true für den secure-Parameter aufrufen.

  • Wenn dieser Parameter auf false gesetzt wird, erstellt Flash Player ein neues gemeinsames Objekt oder ruft den Verweis auf ein vorhandenes gemeinsames Objekt ab, das durch SWF-Dateien gelesen oder geschrieben werden kann, die über andere Verbindungen als HTTPS bereitgestellt werden.

Wenn die aufrufende SWF-Datei nicht von einer HTTPS-URL stammt, löst das Einstellen von true für den Parameter secure der SharedObject.getLocal()- oder SharedObject.getRemote()-Methode eine SecurityError-Ausnahme aus.

Die Auswahl eines Speichers für ein gemeinsames Objekt basiert auf der Ursprungs-URL der SWF-Datei. Dies gilt auch in den zwei Situationen, in denen eine SWF-Datei nicht von einer einfachen URL stammt. beim importierten Laden und beim dynamischen Laden. Importiertes Laden bezieht sich auf eine Situation, in der Sie eine SWF-Datei laden und in der die LoaderContext.securityDomain-Eigenschaft auf SecurityDomain.currentDomain eingestellt ist. In einer solchen Situation hat die geladene SWF-Datei eine Pseudo-URL, die mit der Domäne der ladenden SWF-Datei beginnt und dann die tatsächliche Ursprungs-URL angibt. Dynamisches Laden bezieht sich auf das Laden einer SWF-Datei mit der Loader.loadBytes()-Methode. In dieser Situation hat die geladene SWF-Datei eine Pseudo-URL, die mit der vollständigen URL der ladenden SWF-Datei beginnt, gefolgt von einer Integer-ID. In beiden Fällen, sowohl beim importiertem Laden als auch beim dynamischen Laden, kann die Pseudo-URL der SWF-Datei mit der Eigenschaft LoaderInfo.url ermittelt werden. Die Pseudo-URL wird bei der Auswahl eines Speichers für gemeinsame Objekte genau so wie eine reale URL behandelt. Sie können einen Parameter localPath für ein gemeinsames Objekt angeben, der die Pseudo-URL ganz oder teilweise verwendet.

Benutzer und Administratoren können die Verwendung von gemeinsamen Objekte von Dritten deaktivieren. Dies ist die Verwendung von gemeinsamen Objekten durch eine SWF-Datei, die in einem Webbrowser ausgeführt wird, wenn die Ursprungs-URL dieser SWF-Datei von einer anderen Domäne stammt als die URL, die in der Adressleiste des Browsers angezeigt wird. Benutzer und Administratoren können die Verwendung von gemeinsamen Objekten von Dritten aus Sicherheitsgründen deaktivieren, um auf diese Weise eine domänenübergreifende Verfolgung zu verhindern. Um diese Einschränkung zu vermeiden, können Sie sicherstellen, dass eine SWF-Datei, die gemeinsame Objekte verwendet, nur innerhalb der HTML-Seitenstrukturen geladen wird. Dies stellt sicher, dass die SWF-Datei aus der gleichen Domäne stammt, die in der Adressleiste des Browsers angezeigt wird. Wenn Sie versuchen, gemeinsame Objekte aus einer SWF-Datei von Dritten zu verwenden, und das Verwenden von gemeinsamen Objekten von Dritten deaktiviert ist, geben die SharedObject.getLocal()- und SharedObject.getRemote()-Methoden null zurück. Weitere Informationen finden Sie unter www.adobe.com/de/products/flashplayer/articles/thirdpartylso.