Доступ к XML с помощью файлов cookie пользователя - PullRequest
1 голос
/ 14 июля 2011

Для игрового проекта.

Чтобы получить доступ к игровым данным, пользователь должен «авторизовать» доступ.Для этого они посещают страницу на сайте, где на компьютере пользователя устанавливаются 3 файла cookie.

Когда пользователь просматривает определенные URL-адреса XML, игровой сервер проверяет правильность этих файлов cookie и возвращает требуемую информацию..

Мой вопрос: как мне проанализировать эти XML-файлы, используя куки пользователя, чтобы добавить стилизацию к данным и т. Д.?

Если я использую cURL для загрузки URL-адресов, и CURLOPT_COOKIEчтобы предварительно определить соответствующие файлы cookie, он возвращает информацию правильно.

Однако я не буду знать файлы cookie пользователя, поскольку они действительны только для игрового домена.

Я уверенэто возможно, хотя, возможно, не с помощью этого метода, как это было сделано до использования тех же данных.

Набор файлов cookie:

toolbar_code = 19 digit auth code
toolbar_hash = 19 digit hashed username
toolbar_remember = true

1 Ответ

2 голосов
/ 15 июля 2011

Вы не можете читать междоменный XML (без CORS в любом случае, и это еще недостаточно для зрелости).

Самый простой способ иметь удаленный сценарий, который проверяет файлы cookie и возвращает данные на сайт вызывающего абонента, - это указать <script> на удаленном сайте и выполнить в нем JavaScript, который предоставляет данные вызывающего абонента. Обычный способ сделать это - JSONP .

на стороне клиента:

<script type="text/javascript">
    function receiveData() {
        ...do something...
    }
</script>
<script type="text/javascript" src="http://gamedataserver/getdata.php?jsonp=receiveData"></script>

Серверные:

<?php
    header('Content-Type: text/javascript');
    header('Cache-Control: no-cache');
    if (...user auth is OK...) {
        $callbackfn= preg_replace('/[^a-z_]/', '', $_GET['jsonp']);
        $json= json_encode(...game data...);
        echo "$callbackfn($json);";
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...