Расслабление безопасности Flash для локального swf-доступа к локальным файлам - PullRequest
0 голосов
/ 30 декабря 2010

Вот моя ситуация - у меня есть 3D Engine, написанный на C ++ и DirectX.Он использует Awesomium для окон GUI.

Это позволяет мне использовать HTML и Javascript для GUI, а затем визуализировать его в 3D-среде.Awesomium оборачивает браузер Chromium для рендеринга HMTL.Все работает нормально, включая воспроизведение SWF.

Моя проблема возникает, когда я пытаюсь установить связь с фильмом SWF с помощью Javascript (Awesomium позволяет мне вызывать Javascript из моего приложения C ++) и Actionscripts ExternalInterface.Я получаю ужасную ошибку безопасности.Добавляя различные операторы в SWF-файл и добавляя путь к SWF-файлу в список глобальных параметров безопасности флэш-плеера, он работает.

Теперь я не могу ожидать, что все мои конечные пользователи изменят свой флэш-плеерГлобальная безопасность соответственно, поэтому я надеюсь, что есть обходной путь.

У меня есть локальное приложение, вызывающее локальный HTML-файл, который загружает локальный SWF-файл.Мое локальное приложение связывается с этим локальным SWF-файлом, ошибочно локально.Нет сетевой транзакции.

Так почему песочница?Могу ли я не сказать, чтобы фильм swf доверял определенному отправителю, моему приложению?Между прочим, я нахожусь на flash 8 / AS2.

Спасибо за вашу помощь

Саймон

1 Ответ

0 голосов
/ 30 декабря 2010

Я не уверен, что эти параметры применимы в вашем случае, или если вы уже используете их, но две вещи, которые вы можете сделать, чтобы "ослабить" безопасность для связи между ActionScript и JavaScript:

В ActionScript: System.security.allowDomain ("*")

В теге <object> и / или <embed> для swf в HTML установите allowScriptAccess параметр «всегда».

...