Просмотр полной версии : Policy file request
stinkybob
17.01.2010, 21:00
Доброго времени суток
У меня есть флеш клиент на АС2 и сокет сервер на С++
При исполнении из IDE (Flash) то все работает нормально, но когда выкладываю свф на вебсервер и запускаю из браузера то на сокет сервер прихолит сообщение
<policy-file-request/>
cordomain.xml
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="80,2803"/>
</cross-domain-policy>
flash
Security.allowDomain("xxx.ru");
Security.loadPolicyFile("http://xxx.ru/crossdomain.xml");
Ничего это не помогает :( Подскжате пожалуйста что делать
Ну так с сокета вы ему кроссдоменник отдаете или нет?
stinkybob
18.01.2010, 00:16
Нет =) я не понимаю как его с с++ отдать =)
Пытался сделать так :
char xml[500]="<?xml version='1.0'?> <!DOCTYPE cross-domain-policy SYSTEM 'http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd'> <cross-domain-policy> <allow-access-from domain='*' /> </cross-domain-policy>";
send(Client, xml, strlen(xml) + 1, 0);
ничего не выходит
Добавлено через 2 часа 35 минут
Все.. разобрался
клиент на флеше:
Security.allowDomain("localhost");
Security.loadPolicyFile("xmlsocket://localhost:1000");
var socket:XMLSocket = new XMLSocket();
socket.onConnect = function(success:Boolean) {
if (success) {
o("Connection succeeded!");
socket.send("Boss");
} else {
o("Connection failed!");
}
};
if (!socket.connect("localhost", 1000)) {
ну и так далее....
код на с++
сразу после соединения
char xml[500]="<?xml version='1.0'?> <!DOCTYPE cross-domain-policy SYSTEM 'http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd'> <cross-domain-policy> <allow-access-from domain='*' to-ports='1000' /> </cross-domain-policy>";
send(Client, xml, strlen(xml) + 1, 0);
Да, только после выдачи не забудьте закрыть этот коннект. Хотя флеш это и без вас сделает.
И да, нуль-байт в конце строки обязательно.
stinkybob
18.01.2010, 16:15
Нуль байт это что? :)
Нуль байт это что? :)
http://ru.wikipedia.org/wiki/Нуль-терминированная_строка
Да, только после выдачи не забудьте закрыть этот коннект. Хотя флеш это и без вас сделает.
И да, нуль-байт в конце строки обязательно.
А почему надо закрыть?
И тогда следующий вопрос - как сделать так, что бы постоянно висело соединение между сервером и флэшкой? Что бы сервер мог сам по своей инициативе, что то отправлять?
Закрыть надо, потому что такой механизм взаимодейтствия. Затем соединение откроется вновь.
Если вы понимаете, о чем речь, то второго вопроса не было бы.
вообще бредовая политика безопасности
вообще бредовая политика безопасности
Вполне нормальная. И безопасно.
его подделать также легко, как и Referer в http
его подделать также легко, как и Referer в http
Знаете, при желании, замок на двери тоже можно болгаркой срезать. И что, теперь дверь не надо запирать на замок?
это скорее не замок, а щеколда)
это скорее не замок, а щеколда)
Попробуйте эту щеколду обойти, имея на руках юзера с установленным FP10 и только.
Dimitry_II
20.03.2010, 18:12
Во-во! Что-то очень мне кажется, что человек просто не очень понимает, о чем говорит ...
Я бы даже облегчил ему задачу: не только юзера с FP10, но еще продвинутого юзера со сниффером, декомпилятором и прочими "примочками". И пусть "обойдет".
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.