PDA

Просмотр полной версии : XMLsocket+security rules+proxy


Leezard
12.05.2006, 18:12
Много лазил по поиску много читал, но свою проблему разрешить так и не удалось:
Есть флэшевый броузерный клиент который коннектится посредством сокета к серверу www.aaa.com по порту 28080.
Все замечательно работает до тех пор пока данным клиентом не пытается воспользоваться юзер сидящий под прокси. Победить данную проблему решено было следующим образом на отдельный IP повесили редирект с 80 порта на www.aaa.com:28080 но тут естественно возникла проблема с правилами безопасности. Сисадмин говорит что разместить файл crossdomain.xml на отдельный IP нельзя так как сервака там нет а есть просто редирект. Подскажите что делать? Как вообще можно решить проблему с прокси во Флэш-сокетном приложении?

Leezard
12.05.2006, 19:32
На пути к решению найдено следующее:

System.security.loadPolicyFile("xmlsocket://foo.com:414");

In this example, Flash Player tries to retrieve a policy file from the specified host and a port. Any port can be used if the policy file is not in the default (root) directory; otherwise the port is limited to 1024 and higher (as with earlier players). When a connection is established to the specified port, Flash Player sends <cross-domain-request/>, terminated by a null byte.

The XML socket server might be configured to serve policy files in the following ways:

To serve policy files and normal socket connections over the same port. The server should wait for <cross-domain-request />

То есть можно заставить сервак отдавать полиси-файл через сокет, забавное наблюдение, отслежено что реально флэшка запрашивает не <cross-domain-request />, как написано в хэлпе, а <policy-file-request /> !
Копаем дальше.

Powerhead
29.05.2006, 14:26
Извиняюсь за ламерский вопрос, но кто-нибудь может объяснить, каким образом заставить флешку работать из-под прокси? К примеру, в броузере выставлен сокс, флешка ведь все равно будет коннектиться к своему сервису напрямую? Или нет?

Leezard
29.05.2006, 15:06
Надо заставить флэшку долбить 80 порт. По идее под прокси его закрывают последним. Короче надо найти порт который пропускается проксей и обеспечить чтобы и клиент и сервер работали на этом порте.