D
DarkDon
Здравствуйте.
Много я поискал по инету вариантов авторизации на перл, но так и не наше способа сделатьэто с помощью сесий.
Все примеры которые я видел создавали ИД сессии потом создавались или куки или файл с данными о Логине, времени жизнии....на другой странице она поднималась или из куков или получалась GETом.
Разговаривал с людми пишущими на ПХП, они рассказали, что можно писать номер сессии в переменную окружения браузера и при переходах спрашивать ее у браузера на новой странице и анализировать жива она или мерта какой логин к ней относится и тд. Такая сессия живет пока живет окно браузера.
К сожалению такого примера н Перле я не видел.
Начал разбираться с CGI::Session и вот не понятно, данный модуль работает с переменной окруения или нет?
В самом примере на cpan.org
Но если посмотреть по функциям то есь такая:
Т.е. функция лоад проверяет жива или вообще существует эта сессия(у меня всегда писало что сессия пуста), но как узнать ИД этой сессии.
И фообще может это не тот модуль для решения поставленной задачи?
Много я поискал по инету вариантов авторизации на перл, но так и не наше способа сделатьэто с помощью сесий.
Все примеры которые я видел создавали ИД сессии потом создавались или куки или файл с данными о Логине, времени жизнии....на другой странице она поднималась или из куков или получалась GETом.
Разговаривал с людми пишущими на ПХП, они рассказали, что можно писать номер сессии в переменную окружения браузера и при переходах спрашивать ее у браузера на новой странице и анализировать жива она или мерта какой логин к ней относится и тд. Такая сессия живет пока живет окно браузера.
К сожалению такого примера н Перле я не видел.
Начал разбираться с CGI::Session и вот не понятно, данный модуль работает с переменной окруения или нет?
В самом примере на cpan.org
Ссылка скрыта от гостей
ее пищут в куки
Код:
use CGI::Session;
$session = new CGI::Session();
$CGISESSID = $session->id();
# Send proper HTTP header with cookies:
print $session->header();
Код:
$s = CGI::Session->load() or die CGI::Session->errstr();
if ( $s->is_expired ) {
print $s->header(),
$cgi->start_html(),
$cgi->p("Your session timed out! Refresh the screen to start new session!")
$cgi->end_html();
exit(0);
}
if ( $s->is_empty ) {
$s = $s->new() or die $s->errstr;
}
И фообще может это не тот модуль для решения поставленной задачи?