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

ZigFreeD

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

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

ZigFreeD

Новичок
В плане? Принудительно после того как создал сессию пересоздать куку на два домена с ее номером?
 

Фанат

oncle terrible
Команда форума
ZigFreeD, по какой именно идее?

pilot911, у тебя есть объяснение своему совету?
 

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.
 

dimagolov

Новичок
pilot911, то есть ты утверждаешь, что без установки куки для example.com после ее установки .example.com она будет доступна только в субдоменах, а при обращении к http://example.com нет?
 

pilot911

Новичок
Автор оригинала: 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'.
 

dimagolov

Новичок
pilot911, а попробовать на практике слабо?

-~{}~ 25.11.08 08:43:

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

ZigFreeD

Новичок
Подключаюсь к обсуждению... может мое сообщение чтонить проеснит, а может и запутает...

Пока я не прописал
PHP:
setcookie("PHPSESSID",session_id(),time()+3600,"",".{$_SERVER["HTTP_HOST"]}");
что с точкой что без точки спереди, доступ к кукам имелся и на субдомене и на главном домене!

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

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

ЗЫ: я тестирую на денвере 3
 

pilot911

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

Пока я не прописал
PHP:
setcookie("PHPSESSID",session_id(),time()+3600,"",".{$_SERVER["HTTP_HOST"]}");
что с точкой что без точки спереди, доступ к кукам имелся и на субдомене и на главном домене!

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

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

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

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

pilot911

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

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

MiksIr

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