Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Заголовки, куки и PHPSESSID
Здравствуйте.
Сразу оговорюсь, что работа ведёся из-под AIR, поэтому, если тема опубликована не в том разделе – извиняюсь. Хотя, как мне кажется, вопрос касается не только AIR.
Задача стоит следующая: узнать ID PHP-сессии из-под флеша. ID запоминается c помошью выставления серваком соответствующей куки.
Первое, что приходит в голову – воспользоваться URLStream, дождаться прихода httpResponseStatus и вытащить содержимое соответствующего заголовка Set-Cookie из массива HTTPStatusEvent.responseHeaders.
Но такой способ срабатывает только в том случае, если кука ещё не выставлена. Если же кука выставлена, то Set-Cookie, естественно, не приходит, а содержимое куки флеш передаёт серваку в заголовке Cookie запроса. Это в том случае, если URLRequest.manageCookies = true. Но проблема в том, что мы (по крайней мере, насколько я понял) не можем получить доступ к тем заголовкам запроса, которые добавлены флешем самостоятельно (в том числе, и к заголовкам Cookie). Массив URLRequest.requestHeaders остаётся пустым.
Была мысль лезть напрямую в хранилище куки и доставать оттуда нужную информацию, но тут встаёт вопрос кроссплатформенности и различных адресов хранилищ под разными системами (и даже под разными версиями одной).
И, наконец, третий вариант – выставить URLRequest.manageCookies в false и заниматься обработкой и хранением куки самостоятельно. Что, безусловно, позволяет решить проблему получения ID сесии, но, как мне кажется, слишком масштабно для решения такой базовой задачи.
Если кто-нибудь сталкивался с похожей задачей, или есть какие-то идеи – буду очень благодарен, ибо реализовывать все тонкости спецификации работы с куками ой как неохота, да и сроки поджимают =)
Последний раз редактировалось SamFR; 24.10.2009 в 03:39.
|