Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Oбращение по полному url (http://www.flasher.ru/forum/showthread.php?t=211962)

Фомич 15.12.2015 15:43

Oбращение по полному url
 
И снова приветствую! Оперировал сегодня посылом POST запросов флешки к серверу, по урезанному пути, например "/file/filename.php" все происходит замечательно, но стоит указать путь "http://www.site.ru/file/filename.php", как запросы перестают переходить. Подозреваю, что нужно разрешение какое-то установить, но с какой стороны и где копать, вот это не представляю. Флешка то находится в зоне того же домена...

GBee 15.12.2015 15:58

crossdomain.xml?

Фомич 15.12.2015 16:20

Код:

<cross-domain-policy>
<allow-access-from domain="MySite.ru" to-ports="80"/>
<allow-access-from domain="*.MySite.ru" to-ports="80"/>
</cross-domain-policy>

Как следует из описания, нужно этот текст поместить в корневой папке сайта в файле crossdomain.xml.
Это разрешение любой флешке, но только если она обращается с указанного домена, посылать запросы к серверной части? Я правильно понял?

GBee 15.12.2015 18:33

Да!11

Фомич 15.12.2015 18:42

GBee, спасибо за наводку, все работает

Фомич 15.12.2015 20:06

Вложений: 2
Ну если не считать того, что браузер начинает шарить по сайту в поисках каких-то элексиров бессмертия. В общем лажа какая-то. Попробовал то-же самое с GET запросом и обнаружил... Хотя сначала объясню ситуацию.
Есть сайт xxx.ru , я туда положил crossdomain.xml, файл php для общения с swf и все ок. Дернул меня черт проверить, а что если я положу эту swf на сайт yyy.ru (по идее должен вернутся IOErrorEvent.IO_ERROR).
Вопрос, зачем запрос отправляется на директории сайта yyy.ru в поисках нужного файла php? Вложение 31910

Ок, подложил ему на сайте yyy.ru этот файл, он его нашел и отправил запрос ему, хотя направлен был по адресу xxx.ru

Фомич 15.12.2015 20:11

Вложений: 1
Вложение 31912

GBee 15.12.2015 20:27

Цитата:

Вопрос, зачем запрос отправляется на директории сайта yyy.ru в поисках нужного файла php?
Так флешка наверно относительный путь дергает или я не понял.

faraday 15.12.2015 21:14

Security.allowDomain('*')
попробуйте в флешке

Фомич 15.12.2015 21:23

Не хочу мистифицировать, но путь полный, а myloader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError) не возвращает ничего, да и crossdomain.xml на yyy сайте не лежит. Поковыряю еще. В последнее время заинтересовался вопросом безопастности подгружаемого контента во флеш и якобы ограничивая зону действия запросов можно во флеш отследить, что запрос не дошел до цели. Странно, что IOErrorEvent не возвратил ничего.

Добавлено через 19 минут
Цитата:

Сообщение от faraday (Сообщение 1189713)
Security.allowDomain('*')
попробуйте в флешке

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

Tails 16.12.2015 01:22

Относительные запросы из флешь идут от расположения страницы, в которую внедрён флешь.
Не важно, куда вы физически положите swf, относительный запрос будет идти от того места, где расположена страница, содержащая этот флешь.

elder_Nosferatu 21.12.2015 04:52

IOErrorEvent.IO_ERROR не единственная ошибка, а тем более когда вопрос стоит в безопасности.

caseyryan 21.12.2015 07:54

Цитата:

Сообщение от Фомич (Сообщение 1189710)
Дернул меня черт проверить, а что если я положу эту swf на сайт yyy.ru (по идее должен вернутся IOErrorEvent.IO_ERROR).

По какой такой идее? IO_ERROR = Input / Output Error или по-русски ошибка ввода / вывода. Она вылетает если по указанному пути нет файла, либо доступ к нему, по каким-то причинам ограничен. А у тебя должна быть SeurityError.

И вообще, ты не с того края подходишь к решению задачи. Во-первых не надо указывать какие-то домены в crossdomain.xml, укажи там просто * и для портов тоже. Пусть будут разрешены абсолютно любые домены. Твоя задача выяснить в безопасноти ли дело или в неверных путях. Дальше почисти кэш браузера. Кроссдоменники имеют свойство кэшироваться как и все остальное.
Третье. Попробуй обращаться к этим адресам минуя флешку, напрямую из адресной строки браузера. Что выдаст браузер?

Мистики в этом деле не бывает, всегда в итоге всплывает человеческий фактор.


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

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