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