Как обойти междоменную безопасность флеш-памяти

Как отключить проверку crossdomain.xml, когда исполняемый swf загружен на localhost?

Error #2044: Unhandled SecurityErrorEvent:. text=Error #2048: Security sandbox violation: http://localhost:2541/xxx.swf cannot load data from http://www.com/xxx.swf.

Я хочу назначить полное доверие веб-приложению HTML5, работающему локально. Я хочу отключить любую междоменную проверку.

Почему? Некоторые внешние серверы не предоставляют crossdomain.xml для своих размещенных SWF-файлов. Я бегаю локально. Я хочу иметь полное доверие для целей отладки.

Как мне это сделать?

Я не буду рассматривать AIR, поскольку его нельзя использовать из приложения HTML5.

Добавление URL "http://localhost:2541/xxx.swf" в "C: \ Users \ Arvo \ AppData \ Roaming \ Macromedia \ Flash Player # Security \ FlashPlayerTrust \ u.cfg "не помогло.

Ссылка:

  1. http://www.abdulqabiz.com/blog/archives/2007/03/20/flash-player-trust-flashplayertrust-on-gnulinux/

  2. Запуск SWF из file: /// без изменения пользователем настроек безопасности Flash Player


person zproxy    schedule 02.11.2010    source источник
comment
Не могли бы вы подробнее объяснить, что вы пытаетесь сделать?   -  person James Ward    schedule 02.11.2010


Ответы (3)


Используйте локальный сервер для прокси-сервера удаленного адреса. Допустим, вы хотите подключиться к:

http://someserver.com/whatever

затем позвоните:

http://localhost/proxy/someserver.com/whatever

и пусть локальное серверное приложение сделает фактический удаленный вызов и отправит ответ через прокси.

person Samuel Neff    schedule 02.11.2010
comment
это не сработает, если загруженный SWF хочет поговорить со своим веб-сервером - person zproxy; 02.11.2010
comment
@zproxy, что ты имеешь в виду? вы загружаете SWF-файл с его веб-сервера, вы разговариваете с его собственным веб-сервером. Если вам нужно что-то с другого веб-сервера, попросите веб-сервер swf получить это для swf. Это будет работать. - person Samuel Neff; 02.11.2010

Если вы просматриваете SWF-файл во Flash, междоменных ограничений нет. Однако, если вы действительно просматриваете его в своем браузере (например, на локальном веб-сервере), он ограничен, как и все остальное. Вам нужно будет разместить файл crossdomain.xml на другом сайте или попросить сервер политик прослушивать порт 843 с помощью главной политики.

person mway    schedule 02.11.2010
comment
Не вариант. Хочу прошить, чтобы отключить проверки. ПК находится под моим контролем. - person zproxy; 02.11.2010
comment
Затем создайте локальный прокси, чтобы получить его, и вместо этого загрузите его. Обход «песочницы» Flash - это не то, что Flash позволяет вам делать за пределами этих двух методов: crossdomain.xml или сервера политик. - person mway; 02.11.2010

Я считаю, что вам нужно добавить свой локальный путь к файлу .cfg, а не путь, который вы используете для доступа к нему. Таким образом, вы бы поместили /location/of/xxx.swf в свой .cfg вместо http://localhost:2541/xxx.swf

person Alan Geleynse    schedule 02.11.2010
comment
Приложение HTML5 загружает SWF-файл через HTTP с localhost. На диске нет пути к swf. - person zproxy; 02.11.2010
comment
Тогда в этом случае, как сказал mway, вы не сможете обойти ограничения. - person Alan Geleynse; 02.11.2010