AS3 междоменная ошибка - PullRequest
0 голосов
/ 17 июня 2011

У меня есть SWF-файл, который предположительно myserver1.com/my.swf, и у меня есть междоменный файл

<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*.imageDomain1.com" />
<allow-access-from domain="*.AnotherimageDomain1.com" />
<allow-access-from domain="*.imageDomain2.com" />
</cross-domain-policy>

Код ActionScript.

Security.loadPolicyFile("http://myserver1.com/crossdomain.xml");
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;

// The following is working (SESSION 1)
var request:URLRequest = new URLRequest('http://img.imageDomain1.com/firstImage.jpg');
var loader:Loader = new Loader();
loader.load(request, context);

// The following is not working (SESSION 2)
var request1:URLRequest = new URLRequest('http://img.AnotherimageDomain1.com/firstImage.jpg');
var loader1:Loader = new Loader();
loader1.load(request1, context);

Я не знаю, что случилось,Когда я пользуюсь Firebug, swf ищет http://img.imageDomain1.com/crossdomain.xml, он там присутствует.Но http://img.AnotherimageDomain1.com/crossdomain.xml там нет (я не могу поместить туда файл corssdomain, потому что у меня нет доступа).

Проблема в том, что изображение из (СЕССИЯ 1) изменяет размер, а изображение из (СЕССИЯ 2) не изменяет размеры в событии ЗАВЕРШЕНИЕ.

Пожалуйста, помогите мне !!!

1 Ответ

2 голосов
/ 17 июня 2011

Если у вас нет доступа к http://img.AnotherimageDomain1.com/,, вы никогда не сможете поместить туда crossdomain.xml.Таким образом, можно ожидать, что ваше текущее решение не сможет справиться с проблемой песочницы.

Решение состоит в том, что вам нужно будет создать прокси .Прокси-сервер должен быть доступен в публичном корневом каталоге http://img.imageDomain1.com/,, являющемся доменом, к которому вы действительно имеете доступ.

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

Имейте в виду, что вы должны сделать свой прокси ограничительным, иначе ваш сайт может стать уязвимым для атак XSS.

Приветствия

...