Sandbox (ActionScript 3)

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen:
  ★★★☆☆ Korrektheit: zu größeren Teilen überprüft
  ★★★☆☆ Umfang: einige wichtige Fakten fehlen
  ★★★★★ Quellenangaben: vollständig vorhanden
  ★★★★★ Quellenqualität: ausgezeichnet
  ★★★★★ GlossarWiki-Konformität: ausgezeichnet

1 Problem

Ein SWF-Programm hat bei der Ausführung nicht das Recht auf bestimmte Ressourcen (wie z.B. lokale Dateien) zuzugreifen.

2 Lösung

Den Flash Player so konfigurieren, dass das fragliche SWF-Programm in einer geeigneten „Sandbox“ abgespielt wird.

Flex 2 unterscheidet folgende Sandboxes:

2.1 remote sandbox

Diese Sandbox kommt zu Einsatz, wenn das Programm mit Hilfe eines Browsers von einer Web-Site aus gestartet wird. Diese Programme dürfen auf Dateien vom selben Server zugreifen. Ein Zugriff auf andere Server kann durch entsprechende Konfiguration erlaubt werden. Ein Zugriff auf lokale Dateien ist nicht möglich.

2.2 local sandbox

Diese Sandbox kommt zu Einsatz, wenn das Programm vom eigenen Rechner aus gestartet wird. Hier werden drei Arten von Sandboxes unterstützt:

  • local-with-filesystem sandbox: Zugriff auf lokale Dateien, aber nicht auf Netzwerk-Ressourcen
  • local-with-networking sandbox: Zugriff auf Netzwerk-Ressourcen, aber nicht auf lokale Dateien; es ist konfigurierbar, welche Netzwerk-Ressourcen zugänglich sind und welche nicht
  • local-trusted sandbox: Zugriff auf lokale Dateien, Netzwerk-Ressourcen und Interaktin mit beliebigen anderen SWF-Programmen

Zwischen den beiden „local-with“-Sandboxes kann man mit Hilfe der Compiler-Option use-network=true|false gewählt werden. Diese Option wird z.B. vom mxmlc command-line compiler und vom Flex Builder application compiler verstanden. Beim Command-Line-Übersetzer werden die Parameter direkt in der Kommandozeile angegeben, der Übersetzer des Entwicklungswerkzeuges Flex Builder wird über den Menü-Punkt Project > Properties > Flex Compiler konfiguriert. (Adobe (2006b), S. 165-215, insb. S. 193)

Eine „local-trusted“-Sandbox kann nur vom System-Administrator global für alle Nutzer oder vom aktuellen Benutzer für seine SWF-Dateien eingerichtet werden. Der Administrator bzw. der Nutzer muss das Verzeichnis, in dem das vertauenswürdige SWF-Programm liegt, in eine beliebige Datei im Global Flash Player Trust directory eintragen. Die Datei sollte als Namen den Namen des zugehörige Flash-Projektes erhalten. Die Endung sollte ".cfg" lauten. Eine .cfg-Datei kann beliebig viele Ordner enthalten (pro Zeile einen). Das ist vor allem dann sinnvoll, wenn ein Flash-Projekt aus mehreren SWF-Dateien besteht, die nicht alle im selben Verzeichnis liegen.

2.2.1 Global Flash Player Trust directory

Der genaue Ort dieses Verzeichnisses hängt von den Installations-Angaben und vom Benutzer-Namen ab. Im Folgenden werden die üblichen Standard-Verzeuchnisse angegeben:

  • Mac OS X systems
    • Administrator: /Library/Application Support/Macromedia/FlashPlayerTrust
    • Benutzer: /Users/<benutzername>/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust
  • Microsoft Windows systems
    • Administrator: C:\windows\system32\Macromed\Flash\FlashPlayerTrust
    • Benutzer: C:\Dokumente and Einstellungen\<benutzername>\Application Data\Macromedia\FlashPlayer\#Security\FlashPlayerTrust

2.2.2 Beispiel

Wenn beispielsweise die Windows-Datei C:\windows\system32\Macromed\Flash\FlashPlayerTrust\ASCIIArt.cfg den Eitrag

# Verzeichnisse der Demo-Flash-Anwendung ASCIIArt
C:\WK\Flash\ASCIIArt\bin

enthält, dann hat jede SWF-Datei, die im Verzeichnis C:\WK\Flash\ASCIIArt\bin liegt, vollen Zugriff auf alle lokalen Datein und alle Netzwerkressourcen.

3 Quellen

  1. , Kapitel Flash Player Security, Abschnitt Security sandboxes, S. 455-457
  2. Adobe (2006b): Adobe Systems Incorporated; Adobe Flex 2 – Building and Deploying Flex 2 Applications; Verlag: Adobe Systems Incorporated; Adresse: San Jose, California; Web-Link; 2006; Quellengüte: 5 (Buch)