Forum Webscript.Ru
Программирование => Perl => Тема начата: 09h от 09 Октября 2009, 18:51:09
-
никогда не интересовался сессиями .. а вот ща излазил сотни страниц .. так и не понял с чем их есть))
в теории везде красиво расписано что типа зашел чел на сайт.. ввел свой пароль.. получил ID .. лазит по страницам сайта а браузер передает ID и скрипт чела узнает.. закрыл браузер и до свидания..
вот с реализацией не совсем красиво получаеца )
#!/usr/bin/perl -wT
use lib (\'./1/lib\');
use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;
use CGI::Session;
my $session = new CGI::Session("driver:File;serializer:Storable;id:MD5", undef, {Directory=>\'sessions\'});
$session->param("user_name", "09h");
$session->flush();
$sess_ID = $session->id();
print "Location: [url]http://session.ru/cgi/8.cgi?id=[/url]$sess_ID\\n\\n";
это 8.cgi
#!/usr/bin/perl -wT
use lib (\'./1/lib\');
use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;
use CGI::Session;
use CGI \':standard\';
print "Content-type: text/html;charset=windows-1251;\\n\\n";
my $sess_ID = param(\'id\');
my $session = new CGI::Session("driver:File;serializer:Storable;id:MD5", $sess_ID, {Directory=>\'sessions\'});
my $sh=$session->param_hashref();
my %hsh=%{$sh};
print "hello $hsh{user_name}";
сессия создаеца .. в папке sessions файл появляеца.. 8.cgi пишет hello 09h.. тока вот хде смысл ? ) файл с записью user_name=09h и без CGI::Session сделать мона ) эти созданые файлы висят в папке по миллиону лет потом.. браузер закрываю.. открываю .. лезу в http://session.ru/cgi/8.cgi?id=$sess_ID и пишет hello 09h )) с другова компа залажу тоже здаровкаеца ) и как тада использовать сессии+куки чтоб юзернейм и пароль хранить пока чел по сайту лазит? с такимже успехом мона тупо в куках пароль и хранить..
-
короч не получаеца никакой связи с конкретным посещением сайта.. есть тупо id .. файл на сервере с записью логина пароля и еще чавонибудь.. и этот id засовывать в куки посетителям сайта тупо..
мну в трауре... как терять этот сеанс када чел свалит с сайта? убивать файл этот хотяб из папки sessions или время может задать както чтоб сам убивался минут через 5 .. не делать же скрипт который будет санитаром этой папки )
как без изврата такова человеки вобще в природе поступают???
-
perldoc CGI::Session::Tutorial