Perl авторизация без файлов и куков

  • Автор темы DarkDon
  • Дата начала
D

DarkDon

#1
Здравствуйте.
Много я поискал по инету вариантов авторизации на перл, но так и не наше способа сделатьэто с помощью сесий.
Все примеры которые я видел создавали ИД сессии потом создавались или куки или файл с данными о Логине, времени жизнии....на другой странице она поднималась или из куков или получалась GETом.
Разговаривал с людми пишущими на ПХП, они рассказали, что можно писать номер сессии в переменную окружения браузера и при переходах спрашивать ее у браузера на новой странице и анализировать жива она или мерта какой логин к ней относится и тд. Такая сессия живет пока живет окно браузера.
К сожалению такого примера н Перле я не видел.
Начал разбираться с CGI::Session и вот не понятно, данный модуль работает с переменной окруения или нет?
В самом примере на cpan.org http://search.cpan.org/~markstos/CGI-Sessi.../CGI/Session.pm ее пищут в куки
Код:
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;
}
Т.е. функция лоад проверяет жива или вообще существует эта сессия(у меня всегда писало что сессия пуста), но как узнать ИД этой сессии.
И фообще может это не тот модуль для решения поставленной задачи?
 
V

Vovochka

#2
load грузит сессию по указанному ID. У вас же вообще проблема с сохранением ID.
Модуль CGI::Session не определяет как хранить ID сессии. Он лишь определяет хранение данных самой сессии.