Apache si vymysli cookie?
Jan Kasprzak
kas na fi.muni.cz
Pondělí Červenec 2 16:36:44 CEST 2007
Zdravim,
delam nejakou vec ktera by mela pouzivat cookies pro udrzovani staovych
informaci. Udelal jsem tam i to, ze pokud klient neposle cookie,
tak se mu posle hlavicka Set-Cookie a zaroven se za vsechna URL doplni
?sessionid=<totez co je v cookie>. Ocekaval bych, ze kdyz v browseru
zakazu cookies, tak se vzdycky vezme session id z CGI parametru. Nicmene
tomu tak neni:
Mam modul (jako PerlFixupHandler), kde volam zhruba toto:
my $jar = Apache2::Cookie::Jar->new($r);
my $cookie = $jar->cookies($COOKIE_NAME);
my $session = $cookie->value() if defined $cookie;
my $session_z_parametru;
# Zkusime vycitst z parametru, nejde-li jinak
if (!defined $session) {
my $req = Apache2::Request->new($r);
$session = $req->param($COOKIE_NAME);
if (defined $session) {
$session_z_parametru = 1;
$r->warn("Zkousim session z parametru, ne z cookie")
if $DEBUG;
}
}
Ocekaval bych, ze u kazdeho requestu uvidim tuhle testovac hlasku,
ze se session id bere z parametru, ne z cookie.
Po nekolika kliknutich nebo reloadech se ale stane, ze $jar->cookies()
zacne vracet, ze je nastavena cookie (i kdyz tcpdumpem jsem overil,
ze browser zadnou neposila ani nejde o nejake prezivsi TCP spojeni:
proste nove spojeni bez HTTP hlavicky Cookie: ze strany klienta,
a presto se v $jar->cookies() najde nejaky zaznam.
Funguje vam Apache2::Cookie(::Jar) podle ocekavani, nebo co
pouzivate na predzpracovani stavovych informaci?
Diky,
-Y.
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ |
> what I'm trying to do here is to wake people up who seem to be living in <
> some dream-world where Sun wants to help people. --Linus Torvalds <
Další informace o konferenci Perl