Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.10.2009, 02:16
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 1  
Ответить с цитированием
SamFR

Регистрация: 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.
Старый 13.11.2009, 20:50
ujenjt вне форума Посмотреть профиль Отправить личное сообщение для ujenjt Найти все сообщения от ujenjt
  № 2  
Ответить с цитированием
ujenjt

Регистрация: Nov 2009
Адрес: Ростов-на-Дону
Сообщений: 2
Я думаю, самый длинный, но надежный путь - третий. А насчет тонкостей спецификации - то по моему каждый браузер что хочет с куками то и делает.

Старый 13.11.2009, 22:03
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 3  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Да, Женька, ты прав Только насчёт браузеров не совсем согласен – всё-таки стандарт есть стандарт.

P.S. Ну не настолько этот путь и длинный, насколько я помню, у тебя не очень много времени всё это заняло)

Старый 14.11.2009, 23:00
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 4  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
а если так:
Код AS3:
var cookie:String = ( ExternalInterface.call('function() { try {  return document.cookie } catch(e) {} }') as String )
?

Старый 14.11.2009, 23:58
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 5  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
Цитата:
Сообщение от BlooDHounD Посмотреть сообщение
а если так:
Код AS3:
var cookie:String = ( ExternalInterface.call('function() { try {  return document.cookie } catch(e) {} }') as String )
?
это AIR

Добавлено через 51 секунду
а вариант добавление на сервер скрипта который отдает id?

Старый 15.11.2009, 01:02
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 6  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
BlooDHounD, спасибо за идею, способ и правда хорош. К сожалению, в данном случае так не получится, речь ведь идёт об эйровском приложении...

bicubic_bublic, в том-то всё и дело, что заказчик наотрез отказался от такого варианта. Не очень понятно, правда, почему.

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
cookies , PHPSESSID , заголовки , куки
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:36.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.