PDA

Просмотр полной версии : Oбращение по полному url


Фомич
15.12.2015, 15:43
И снова приветствую! Оперировал сегодня посылом 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
Ну если не считать того, что браузер начинает шарить по сайту в поисках каких-то элексиров бессмертия. В общем лажа какая-то. Попробовал то-же самое с 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
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 минут
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
Дернул меня черт проверить, а что если я положу эту swf на сайт yyy.ru (по идее должен вернутся IOErrorEvent.IO_ERROR).


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

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

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