AS3 Air удаленный внешний SWF не может получить доступ к локальным APK - PullRequest
2 голосов
/ 04 мая 2011

Я разрабатываю файл Android с использованием расширения воздуха Flash CS5. Я знаю основную междоменную политику и соединения между серверами. И я искал много страниц, но по этому поводу нет решения.

Мой "container.apk" загружает "external.swf" с сервера. И я хочу иметь возможность получить доступ к переменным и функциям в "container.apk" из "external.swf". Но я не могу получить доступ к какой-либо функции в моем контейнере (файл приложения .apk) из моего внешнего модуля swf (удаленный файл) ... Я имею в виду, я пытаюсь получить доступ к функциям container.apk из загруженного swf. Как и при нажатии кнопки «external.swf», это должно повлиять на функцию в container.apk.

Также вот некоторые коды ошибок, которые я получаю;

SecurityError: Ошибка № 2047: нарушение изолированной программной среды безопасности: родитель: http://**.com/external.swf не может получить доступ к приложению: /container.swf **

И функция загрузки моего контейнера;

var l:Loader = new Loader;
var externalSWF:MovieClip;
var contextC:LoaderContext = new LoaderContext(); 
contextC.checkPolicyFile = false;
contextC.allowCodeImport = true;
l.load(new URLRequest(filePath), contextC);
l.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);


function loadComplete(evt:Event){
    l.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadComplete);
    externalSWF = l.content as MovieClip;
    MovieClip(root).addChild(externalSWF);
}

1 Ответ

0 голосов
/ 04 мая 2011

Я думаю, что это так, загруженные SWF-файлы помещаются в «песочницу».

Представьте себе сценарий, когда у вас есть Flash-сайт и вы хотите, например, загрузить Flash-игры.Если у загруженных детей есть доступ к родителю, злонамеренный SWF-файл может получить доступ к серверу через SWF-файл вашего загрузчика, например.

Это также не поможет тому, что вы пытаетесь сделать, еще более опасно, имея доступк APK и его разрешениям, загруженный SWF теоретически может захватить телефон.

Однако он должен работать наоборот, хост загрузчика должен иметь доступ к чему-либо внутри загруженного SWF, поэтому я 'боюсь, вам придется сконструировать ваше приложение с учетом этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...