Вопрос

Мы разработали специализированный сервер в .NET, чтобы провести несколько базовых функций чата / IM для нашего веб-сайта, и клиент написан в Flex (AS3) с использованием XMLSocket.

Теперь у нас есть 2 сервера, которые предназначены для чисто отправки файлов политики и одной обработкой функций IM / CHOT.

Проблема в том, что мы можем видеть подключение клиента, файл политики отправляется, но затем Flash игнорирует файл политики и запрашивает его снова с нашего чата / IM Server.

Политический файл:

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="*" to-ports="*" secure="false"/>
</cross-domain-policy>

Сервер политики:

Server.LogMessage("Policy Server: Serving policy file.");
            TcpListener listener = (TcpListener)ar.AsyncState;
            Socket client = listener.EndAcceptSocket(ar);
            NetworkStream ns = new NetworkStream(client);
            StreamReader sr = new StreamReader(ns);
            StreamWriter sw = new StreamWriter(ns);

            sr.Read();
            //Send policy
            sw.Write(Server.EncodeString(Server.xmlPolicyFile.OuterXml) + "\0");
            sw.Flush();
            ns.Flush();
            //Cleanup
            sw.Close();
            sr.Close();
            ns.Close();
            //Do it again!
            tcl.BeginAcceptSocket(AcceptCallback, tcl);
Это было полезно?

Решение

Политика по пересеченной доменной политике работает только для сервера его на ... У вас нет сервера, обслуживающего политику для другого сервера ... Что остановит злодей, создав политику для вашей машины и кражу ваших данных.

Вам нужно будет использовать политику с правильного сервера.

Другие советы

Спасибо Gergor, но я имел в виду, что мы открыли один сервер, предназначенный для отправки файлов политики и один для обработки фактических подключений (оба на одной машине).

Проблема заключалась в том, что вам нужно немедленно отправить файл политики, не делая ничего другого на сервере политики.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top