Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.02.2012, 17:55
s3dworld вне форума Посмотреть профиль Отправить личное сообщение для s3dworld Найти все сообщения от s3dworld
  № 1  
Ответить с цитированием
s3dworld

Регистрация: Apr 2010
Сообщений: 170
По умолчанию Ошибка безопасности при загрузке из вторичной swf

Всем доброго вечера!

Уже второй день не могу решить свою проблему. Есть Loader.swf и есть Game.swf. Пишу игру под социальную сеть ВКонтакте. На ВКонтактовский сервер заливаю Loader.swf, а на наш сервер - Game.swf. Для того чтобы каждый раз не бегать ВКонтакт, я решил локально запускать игру и связываться с их API. Вот в чём суть. Я успешно получаю список друзей, у которых установлена игра. Так же успешно получаю информацию о пользователях по полученным UIN'ам. Запоминаю из этой информации поле с адресом картинки. Далее я гружу эти картинки и вывожу их. Всё это успешно работает, если я запускаю с локального компьютера Game.swf (собственно именно в нём весь этот код). Стоит же мне запустить Loader.swf (а она в свою очередь грузит Game.swf и добавляет его в свой список отображения) локально или из ВКонтакта (из ВКонтакта вообще не выскакивает сообщений, просто не выводится и всё), то появляются ошибки. Вот что мне пишут:

Цитата:
SecurityError: Error #2122: Нарушение изолированной среды: Loader.content: http://????/Game.swf?1330004762315 не может осуществить доступ к http://cs5504.vkontakte.ru/????/????.jpg. Необходим файл политики, но, когда были загружены эти мультимедийные данные, флаг checkPolicyFile не был установлен.
at flash.display::Loader/get content()
Тогда я решил поставить этот флаг:

Цитата:
*** Нарушение безопасности изолированной среды ***
Подключение к http://cs5504.vkontakte.ru/????/????.jpg прервано – нет разрешения от http://????/Game.swf?1330005003350

SecurityError: Error #2123: Нарушение изолированной среды: Loader.content: http://????/Game.swf?1330004975044 не может осуществить доступ к http://cs5504.vkontakte.ru/????/????.jpg. Не предоставлен доступ к файлам политики.
at flash.display::Loader/get content()
Я уже и пробовал грузить Game.swf разными способами:

Код AS3:
loader.load(new URLRequest(url),new LoaderContext(true,ApplicationDomain.currentDomain,SecurityDomain.currentDomain));
И так:

Код AS3:
loader.load(new URLRequest(url),new LoaderContext(true));
И вот так:

Код AS3:
loader.load(new URLRequest(url));
Ничего не помогает. Помогите, пожалуйста! Сам уже ничего не понимаю. У меня нет вариантов. Первая swf может грузить, а дочерняя нет. Что мне надо прописать чтобы заработало?

Старый 23.02.2012, 18:01
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Хак вы не захотели использовать?

Добавлено через 2 минуты
Цитата:
*** Нарушение безопасности изолированной среды ***
Подключение к http://cs5504.vkontakte.ru/????/????.jpg прервано – нет разрешения от http://????/Game.swf?1330005003350
http://help.adobe.com/ru_RU/FlashPla...#allowDomain()

?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.


Последний раз редактировалось GBee; 23.02.2012 в 18:05.
Старый 23.02.2012, 18:11
s3dworld вне форума Посмотреть профиль Отправить личное сообщение для s3dworld Найти все сообщения от s3dworld
  № 3  
Ответить с цитированием
s3dworld

Регистрация: Apr 2010
Сообщений: 170
GBee
Цитата:
Хак вы не захотели использовать?
Не, не хочется.

У меня в конструкторах обоих swf уже прописано:

Код AS3:
Security.allowDomain("*");
var localConnection:LocalConnection=new LocalConnection();
localConnection.allowDomain("*");

Старый 23.02.2012, 18:44
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 4  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Цитата:
*** Нарушение безопасности изолированной среды ***
Подключение к http://cs5504.vkontakte.ru/????/????.jpg прервано – нет разрешения от http://????/Game.swf?1330005003350
allow-networking стоит при публикации (компиляции) Game.swf?

Старый 23.02.2012, 18:51
s3dworld вне форума Посмотреть профиль Отправить личное сообщение для s3dworld Найти все сообщения от s3dworld
  № 5  
Ответить с цитированием
s3dworld

Регистрация: Apr 2010
Сообщений: 170
maxkar
Цитата:
allow-networking стоит при публикации (компиляции) Game.swf?
Это вот этот?



В обоих swf стояло "Доступ только к локальным файлам". Game.swf скомпилировал с другим параметром, но всё осталось по прежнему. Неужели никто не поможет?

Старый 23.02.2012, 18:54
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 6  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Да, оно. В обеих поставьте "доступ только к сети". Так как Game.swf вы грузите в домен безопасности Loader.swf, там могут использоваться и его (loader'а) настройки.

Старый 23.02.2012, 19:02
s3dworld вне форума Посмотреть профиль Отправить личное сообщение для s3dworld Найти все сообщения от s3dworld
  № 7  
Ответить с цитированием
s3dworld

Регистрация: Apr 2010
Сообщений: 170
maxkar
Цитата:
Да, оно. В обеих поставьте "доступ только к сети". Так как Game.swf вы грузите в домен безопасности Loader.swf, там могут использоваться и его (loader'а) настройки.
Не помогло. Всё так же. (((((

Старый 23.02.2012, 19:12
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 8  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
А сейчас какой вариант сделан и какая ошибка? Интересует загрузка Game.swf в ApplicationDomain.currentDomain + SecurityDomain.currentDomain, для картинок - checkPolicyFile в true и для обоих файлов "доступ только к сети".

Ошибок было изначально три (2122, 2123 и невозомжность соединения), что осталось сейчас?

Старый 23.02.2012, 19:26
s3dworld вне форума Посмотреть профиль Отправить личное сообщение для s3dworld Найти все сообщения от s3dworld
  № 9  
Ответить с цитированием
s3dworld

Регистрация: Apr 2010
Сообщений: 170
maxkar
Сейчас всё подробно опишу.

Для Loader.swf поставил "Доступ только к сети". Загружаю swf следующим кодом:

Код AS3:
gameLoader.load(
    new URLRequest("http://????/Game.swf?"+(new Date()).getTime().toString()),
    new LoaderContext(true,ApplicationDomain.currentDomain));
Для Game.swf поставил "Доступ только к сети". Загружаю картинки следующим кодом:

Код AS3:
loader.load(new URLRequest(url),new LoaderContext(true));
При этом выводит:

Цитата:
*** Нарушение безопасности изолированной среды ***
Подключение к http://cs9315.vkontakte.ru/????/????.jpg прервано – нет разрешения от http://????/Game.swf?1330010554854

*** Нарушение безопасности изолированной среды ***
Подключение к http://cs5504.vkontakte.ru/????/????.jpg прервано – нет разрешения от http://????/Game.swf?1330010554854
SecurityError: Error #2123: Нарушение изолированной среды: Loader.content: http://????/Game.swf?1330010554854 не может осуществить доступ к http://cs5504.vkontakte.ru/????/????.jpg. Не предоставлен доступ к файлам политики.
at flash.display::Loader/get content()
at d.game.loading::UsersLoad/GetData()
at d.game.gui.mainBottom::GUIMainBottom/ResetFriends()
at d.game.gui.mainBottom::GUIMainBottom()
at d.game.manager::GUIManager()
at d.game::Game/OnFirstLoadSuccess()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at d.game.loading::FirstLoad/OnMapPreparationSuccess()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at d.game.manager::MapManager/OnAllObjectsLoadSuccess()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at d.game.loading::MapLoad/OnObjectLoadSuccess()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at d.game.loading::ObjectLoad/OnComplete()
А запустить с:

Код AS3:
gameLoader.load(
    new URLRequest("http://eqtst.anybrothers.com/gamenew/i/Game.swf?"+(new Date()).getTime().toString()),
    new LoaderContext(true,ApplicationDomain.currentDomain,SecurityDomain.currentDomain));
Я не могу. Ругается:

Цитата:
SecurityError: Error #2142: Нарушение изолированной среды: локальные SWF-файлы не могут использовать свойство LoaderContext.securityDomain. file:///????/Loader.swf пытался загрузить http://????/Game.swf?1330010714546.
at flash.display::Loader/_load()
at flash.display::Loader/load()
at d::Main/gameLoad()
at d::Main/onAddedToStage()
Я пока вообще ничего не понимаю.

Старый 23.02.2012, 19:54
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 10  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Цитата:
локальные SWF-файлы не могут использовать свойство
Перечитай предыдущую строчку.

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:23.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.