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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.04.2008, 14:09
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 1  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
По умолчанию Security Sandbox Violation в тяжелой форме

Пишу проект, который грузит много фоток с многих серверов. Сервера все "мои", на всех в корне лежит crossdomain.xml с разрешением всех айпишников и портов. Во флешке стоит allowDomain('*'), хоть это и не должно влиять. Тем не менее ошибки безопасности при загрузке фото продолжают валиться.

Как выглядит моя система загрузки фото: сервера фоток требуют авторизации, авторизация проходит через передачу GET-параметра в урле любого запроса, поэтому приходится юзать loadPolicyFile, а не родное свойство MovieClipLoader.checkPolicyFile (кстати даже при использовании этого свойства ошибки безопасности в опред ситуациях тоже валятся). Каждая фотка грузится специально созданным класс-инстансом навороченного лоадера.
Что делает лоадер:
Проверяет, загружен ли нужный полиси-файл. Если нет - выполняем loadPoliyFile. Параллельно загружаем тот же файл в качестве XML и ждем пока он загрузится. Все, кому в это время потребуется тот же полиси файл также тихо ждут его.
Когда XML загрузился, ждем еще 300ms (на случай рассинхронизации загрузки) и теперь уже грузим саму фотку. Таким образом, нужный полиси файл на момент начала загрузки картинки ВСЕГДА загружен.

Картинки можно грузить с чужих доменов и без полиси-файлов, главное что к ним нельзя применять BitmapData.draw. А также, почему-то, к мувикам, загрузившим картинки с чужих доменов нельзя применять unloadMovie(). По-моему бред, ну да ладно.

Суть проблемы в том, что известный FF плагин flashTracer показывает ошибки безопасности для одного и того же домена много раз в течение опред времени. При том, что если бы файл действительно был загружен без необходимых разрешений System.security, BitmapData.draw не создавала бы битмапа. А битмапы создаются и выглядят как должно.

Ошибки валились самые разнообразные. Сейчас это разнообразие удалось свести к одному варианту: "SecurityDomain *** tried to access incompatible context ***.jpg".

Перерыл гугль, решений не нашел. Если вы не ответите, придется переводить всю эту бодягу на англ для форумов адоба :-)

UPD: Забыл отметить, что ошибки валятся не при каждой загрузке фотки. Примерно в половине случаев. Хотя все фотки грузятся по одной и той же системе. Корелляции по доменам тоже нет - ошибки есть при работе с любым из серверов.
__________________
#define true false //счастливой отладки, друзья


Последний раз редактировалось MyXus; 04.04.2008 в 14:24.
Старый 04.04.2008, 17:26
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 2  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Ошибку нашел кстати, всё дело в unloadMovie().
Всем пака -)
__________________
#define true false //счастливой отладки, друзья

Старый 05.04.2008, 00:44
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
MyXus, у тебя регулярно проблемы с security возникают. Закономерность?

Старый 07.04.2008, 16:53
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 4  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Вероятно, потому что я регулярно работаю с проектами, размещенными на нескольких серверах? :-)
По поводу этой проблемы, в гугле на запрос "Security Sandbox Violation unloadmovie" - два десятка невнятных ссылок, из которых на английском дай бог половина. И это при том что я вбиваю в гугль ответ, а не вопрос. Незнаю, лыжи ли не едут в данном случае, или я ***.
__________________
#define true false //счастливой отладки, друзья


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

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

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


 


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


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