![]() |
Заголовки, куки и 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 сесии, но, как мне кажется, слишком масштабно для решения такой базовой задачи. Если кто-нибудь сталкивался с похожей задачей, или есть какие-то идеи – буду очень благодарен, ибо реализовывать все тонкости спецификации работы с куками ой как неохота, да и сроки поджимают =) |
Я думаю, самый длинный, но надежный путь - третий. А насчет тонкостей спецификации - то по моему каждый браузер что хочет с куками то и делает.
|
Да, Женька, ты прав :) Только насчёт браузеров не совсем согласен – всё-таки стандарт есть стандарт.
P.S. Ну не настолько этот путь и длинный, насколько я помню, у тебя не очень много времени всё это заняло) |
а если так:
Код AS3:
|
Цитата:
Добавлено через 51 секунду а вариант добавление на сервер скрипта который отдает id? |
BlooDHounD, спасибо за идею, способ и правда хорош. К сожалению, в данном случае так не получится, речь ведь идёт об эйровском приложении...
bicubic_bublic, в том-то всё и дело, что заказчик наотрез отказался от такого варианта. Не очень понятно, правда, почему. |
| Часовой пояс GMT +4, время: 11:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.