где поподробнее почитать о связке браузер-сессия

olegk

Новичок
где поподробнее почитать о связке браузер-сессия

Мой веб сервер пока что при рефреше каждый раз заново создает сессию.
Он (веб сервер) должен сам заводить уникальный кук для каждого сеанса (открытого браузера) и как то отслеживать его при рефреше?
 

Фанат

oncle terrible
Команда форума
где поподробнее почитать о связке браузер-сессия
здесь: PHP FAQ: Сессии. Подробное описание работы и объяснение механизма.
Он (веб сервер) должен сам заводить уникальный кук для каждого сеанса?
должен.
но кроме этого, браузер должен этот "кук" возвращать =)

-~{}~ 05.06.06 20:42:

Serial
не надо провоцировать человека на нарушение правил
 

olegk

Новичок
Автор оригинала: Serial
исходник покажи
session_save_path("./session");
session_start();
session_register("user_id");
$_SESSION['user_id']='ewsazxcvvggf';

-~{}~ 05.06.06 20:49:

Автор оригинала: Фанат
Спасибо, буду копать

-~{}~ 05.06.06 21:38:

Все дело в том что куки видны внутри веб сервера, но не передаются php-cgi

php-cgi в коммандную строку передается имя скрипта на исполнение и запостенные параметры, а как ему можно передать куки?
 

Фанат

oncle terrible
Команда форума
куки относятся к "запостенным параметрам"
так что, длжна передаваться, как и всё остальное.

Давай определимся.
Значит, по сессиям у тебя вопросов нет. интересуют тебя только куки? Которые принципиально у тебя ни в каком виде не работают.
Я правильно понял?
 

olegk

Новичок
Куки работают на 3/4 -)
Они транслируются из cgi, через сервер в поток браузера...т.е. записываются успешно.(Браузер спрашивает разрешения на запись кука)

Обратно же - считывание куков... они только передаются от браузера веб серверу. Видел там свои куки и нужные значения в отладчике. А дальше пхп запускается как cgi , создается отдельный просесс, и вот как передать ему куки я пока не нашел

Вероятно или через ту же коммандную строку или переменные среды, но увы это только догадки.

Уверен что вопрос с сессиями решится как только кук передасться от веб сервера php-cgi
 

Фанат

oncle terrible
Команда форума
а что у тебя за связка такая интересная?
что за веб-сервер?
почему он не умеет по-человечески работать с CGI?

-~{}~ 05.06.06 22:25:

и вот как передать ему куки я пока не нашел
куки ему передавать не надо
ему надо передать stdin

а когда тебе реферер понадобится - опять будешь специальный способ изобретать?
 

olegk

Новичок
Автор оригинала: Фанат
а что у тебя за связка такая интересная?
что за веб-сервер?
почему он не умеет по-человечески работать с CGI?

-~{}~ 05.06.06 22:25:


куки ему передавать не надо
ему надо передать stdin

а когда тебе реферер понадобится - опять будешь специальный способ изобретать?
Веб сервер пишу на Дельфи, вызов cgi делаю через createprocess
php-cgi использую стандартный 5 версии

Куки имеются на дельфевом уровне, а как их залить на "съеденье" php-cgi - ?

В stdin могу залить что угодно, только не знаю в каком формате.
 

Фанат

oncle terrible
Команда форума
в том, в котором пришло от юзера

-~{}~ 05.06.06 22:59:

Веб сервер пишу на Дельфи
ну, ты бы, писатель, может спецификацию CGI почитал, что ли? Так, для разнообразия?
 

olegk

Новичок
Автор оригинала: Фанат
в том, в котором пришло от юзера

ну, ты бы, писатель, может спецификацию CGI почитал, что ли? Так, для разнообразия?
Вот сейчас пытаюсь найти на php.net
 

Фанат

oncle terrible
Команда форума
Что-то я не нашёл, как куки передаются в CGI
реферер в спецификации есть, а кук - нету...
 

olegk

Новичок
Автор оригинала: Фанат
Что-то я не нашёл, как куки передаются в CGI
реферер в спецификации есть, а кук - нету...
Вот мне попался такой вариант передачи: в переменную окружения заносится
HTTP_COOKIE: cookie1=v1;cookie2=v2
но почемуто не работает

-~{}~ 06.06.06 01:56:

Автор оригинала: SiMM
> пытаюсь найти на php.net
Не там ищешь.
http://en.wikipedia.org/wiki/Common_Gateway_Interface
ДА, здесь есть где покопатся, завтра займусь
 

Фанат

oncle terrible
Команда форума
что именно не работает? переменная HTTP_COOKIE не видна?
слабо верится.
массив $_COOKIE пустой? это очевидно.
поскольку он заполняется из заголовков, а не из окружения.
 

olegk

Новичок
не работает в смысле: пуст $_COOKIE
а как заголовок можно передать на вход cgi - ?

а вот еще пример использования HTTP_COOKIE: ...
http://www.metasset.com/information/meta-tags/he_Set-Cookie2.html

-~{}~ 06.06.06 02:09:

странно что на php.net нету информации о передаче куков на вход cgi

-~{}~ 06.06.06 02:14:

и вот еще
http://www.cgi-scripts.info/perl/cookies.shtml
 

sal

Новичок
olegk
Как вариант, можете поставить апач, написать простенькую программу, которая будет в файл сохранять все что прилетает на stdin. И посмотреть что Апач отсылает этой программе. Что он (апач) получает на вход Вы должны знать. Дальше сравнить полученное и отправленное.
 

olegk

Новичок
Так и сделал,
значит апач шлет через стандартный вход параметры запостеные с формы,

а в параметрах коммандной строки только стандартный c:\php\php.exe

Куки шлются как-то еще !

-~{}~ 07.06.06 17:27:

Действительно апач шлет куки через переменные окружения

Вот кусок лога
HTTP_COOKIE=IDHTTPSESSIONID=1CkAmtNy9hqPAxg;

Такая то вот штука -)

-~{}~ 07.06.06 17:56:

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