php httprequest класс и сессия - PullRequest
       4

php httprequest класс и сессия

0 голосов
/ 23 февраля 2009

Я использую класс httprequest в одном из моих приложений для запроса междоменной страницы. По сути, мне нужно было добавить две страницы, основываясь на том, что пользователь вошел в систему через междоменный запрос ajax. Из-за проблем безопасности это не разрешено.

Итак, я создал прокси-страницу, которая использует класс httprequest для запроса удаленного файла, в котором inturn включает два apges в зависимости от состояния пользователя, вошедшего в систему.

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

Что мне нужно сделать, это поддерживать один и тот же сеанс в течение нескольких HTTP-запросов., Пока пользователь не выберет выход из системы.

Я заметил в firebug, что http-запрос отправляет куки-файл PHPSESSID, но в ответ ничего не отправляется с сервера. Имеет ли это какой-то смысл?

Как я могу сделать это, используя php cookies? Пожалуйста, помогите.

1 Ответ

1 голос
/ 23 февраля 2009

Вам необходимо передать файлы cookie между браузером и этим удаленным сервером. Я сейчас работаю над чем-то похожим , но приведу более простой пример:

proxy.php

<?php

session_start();

if (! isset($_SESSION['remote_session_id'])) {

    $response = make_initial_request();

    /*
     * This means to read the Set-Cookie header and store it in your own session
     */
    $_SESSION['remote_session_id'] = $remote_session_id = get_remote_session_id($response);

} else {
    /*
     * Inside this function you must send a Cookie header populated with the value
     * of $remote_session_id. Its name is dependent on the remote server.
     */
    $response = make_remote_request($_SESSION['remote_session_id']);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...