Передача сессии поддомену

ZigFreeD

Новичок
Передача сессии поддомену

Я делаю сайт, на котором авторизация проводится на главном домена грубо говоря домен.ру, а затем как только произоша авторизация происходит переадресация странички
PHP:
header("HTTP/1.1 301 Moved Permanently");
exit(header('Location: поддомен1.домен.ру'));

Так вот проблема в том что на поддомен не передается номер сессии... использование SID не желательно :(
Кто может посоветовать как это вылечить? Ведь по идеи куки должны... но не передаются :(
 
В плане? Принудительно после того как создал сессию пересоздать куку на два домена с ее номером?
 
ZigFreeD, по какой именно идее?

pilot911, у тебя есть объяснение своему совету?
 
Автор оригинала: dimagolov
pilot911, врешь и не краснеешь....
setcookie
ты не прав, вот цитата из твоей ссылки


domain

The domain that the cookie is available. To make the cookie available on all subdomains of example.com then you'd set it to '.example.com'. The . is not required but makes it compatible with more browsers. Setting it to www.example.com will make the cookie only available in the www subdomain. Refer to tail matching in the » spec for details.
 
pilot911, то есть ты утверждаешь, что без установки куки для example.com после ее установки .example.com она будет доступна только в субдоменах, а при обращении к http://example.com нет?
 
Автор оригинала: dimagolov
pilot911, то есть ты утверждаешь, что без установки куки для example.com после ее установки .example.com она будет доступна только в субдоменах, а при обращении к http://example.com нет?

как понимаю, да, я ставлю 2 куки

в правилах написано, что точка перед доменом работает только для поддоменов

To make the cookie available on all subdomains of example.com then you'd set it to '.example.com'.
 
pilot911, а попробовать на практике слабо?

-~{}~ 25.11.08 08:43:

то, что ты процитировал, переводится как
Чтобы сделать куку доступной на всех субдоменах example.com вы должны установить ее в '.example.com'.
и почему из этого следует, что пустой субдомен сюда не входит?
 
Подключаюсь к обсуждению... может мое сообщение чтонить проеснит, а может и запутает...

Пока я не прописал
PHP:
setcookie("PHPSESSID",session_id(),time()+3600,"",".{$_SERVER["HTTP_HOST"]}");

что с точкой что без точки спереди, доступ к кукам имелся и на субдомене и на главном домене!

Я спецально тестировал кучу разных вариантов... и оказалось что пофигу есть точка или ее нет...

А вот если вообще не прописываю домен то куки созданные на основном домене не доступны на поддомене.

ЗЫ: я тестирую на денвере 3
 
Автор оригинала: ZigFreeD
Подключаюсь к обсуждению... может мое сообщение чтонить проеснит, а может и запутает...

Пока я не прописал
PHP:
setcookie("PHPSESSID",session_id(),time()+3600,"",".{$_SERVER["HTTP_HOST"]}");

что с точкой что без точки спереди, доступ к кукам имелся и на субдомене и на главном домене!

Я спецально тестировал кучу разных вариантов... и оказалось что пофигу есть точка или ее нет...

А вот если вообще не прописываю домен то куки созданные на основном домене не доступны на поддомене.

ЗЫ: я тестирую на денвере 3
ну не знаю, без точки впереди не на всех броузерах работает.. об этом в мануале на setcookie написано.. см выше посты с цитатами

насчет того, надо ли ставить 2 куки или можно ограничиться доменом с точкой впереди - я не в курсе.. проверить сейчас не могу
 
Если явно указанное значение не начинается с точки, пользовательский агент снабжает ведущую точку.

хорошая новость, но зачем же тогда упоминали о точке в мануалах, если она автоматом подразумевается ?

я все-таки предпочту ставить точку перед доменом, поскольку это советуется в мануале по пхп и таким образом ставить 2 куки
 
Там же написано зачем: The . is not required but makes it compatible with more browsers.
В общем, я скорее тоже за точку, т.к. это как бы явная форма того, что хочешь, хотя уверен, что нынешняя 4-ка лидеров-браузеров прекрасно понимает и без точки.
Другое дело, что раз с точкой и без - одно и тоже, двойная форма не нужна.
 
Сверху