Dnes se podíváme, jak zařídit, aby server posílal a přijímal cookies, které se využijí například při personalizaci.
Dnes si podíváme, jak zařídit, aby server posílal a přijímal cookies, které se využijí například při personalizaci.
Trochu teorie na začátek
Cookies se ukládají na Váš disk a počet cookies na disku je omezen na maximální počet 300. Další podmínkou je, že od jednoho serveru (domény) můžete dostat maximálně 20 cookies. Velikost jedné sušenky nesmí přesáhnout 4KB.
Schéma cookies
Hlavičku s cookies musíte umístit za hlavičku souboru, kde definujete, o jaký soubor se má jednat (zda to bude HTML, textový či jiný soubor [hlavička:
Content-type: text/html]).
Set-Cookie:
promenna=hodnota
[;EXPIRES=datum]
[;DOMAIN=domena]
[;PATH=cesta]
[;SECURE]
Set-Cookie: -
Hlavička, která říká že se jedná o cookies.
promenna=hodnota - zde zapište proměnnou a její hodnotu, kterou chcete poslat WWW prohlížeči klienta.
EXPIRES - datum, kdy skončí platnost cookies. Po tomto datum už se nebude na tento vzorek cookies brán ohled. Pokud položku EXPIRES neuvedeme, pak platnost cookies skončí s uzavřením WWW prohlížeče. Toto se využívá, pokud potřebujete rozlišit uživatele pouze po dobu připojení na server. Pozor, pokud je neuvedený název dne (např: Wednesday), pak IE4 dělá problémy a cookies odmítá od WWW serveru přijmout.
příklad zápisu data:
EXPIRES=Tue,09-FEB-99 23:12:40 GMT - 9.února 1999 23:12:40 v časovém pásmu GMT
EXPIRES=Wednesday, 10-MAR-99 - 23.března 1999
DOMAIN - Zde uvedete, pro kterou doménu cookies platí. Pokud tento údaj neuvedete, pak se doplní název WWW serveru. Pokud máte například více server v rámci jedne domény server.cz a chcete aby i ostatní servery z vaší domény mohly příjmat cookies, pak do cookies pište takto .server.cz (tečka - server - tečka - cz)
příklad zápisu domény:
DOMAIN=one.server.cz – platnost cookies pouze pro server one.server.cz
DOMAIN=.server.cz – platnost cookies pro všechny servery v doméně server.cz (one.server.cz, two.server.cz , …)
PATH - Cesta, kde platí cookies. Pokud uvedte “/” (lomítko) , pak platnost cookies se vztahuje na celý server. Pokud uvedete např: “/dir” , pak cookies budou platit pouze v adresáři “/dir” a jeho pořízených adresářích.
příklad zápisu cesty:
PATH=/ - platnost cookies na celém WWW serveru
PATH=/dir – platnost cookies v adresáři /dir, /dir/subdir, ale už neplatí v adresáři /dir2
SECURE - Uvádějte pouze v případě, že budete ze serverem komunikovat přes HTTPS protokol, tedy např: https://www.server.cz
Configurace Apache pro Cookies
V soubor httpd.conf musíte přidat tento řádek:
LoadModule usertrack_module libexec/mod_usertrack.so #unix/linux verze
LoadModule usertrack_module modules/ApacheModuleUserTrack.dll #windows verze
Příklad vyslání a příjmu cookies
Při prvním přístupu se Vám u políčka
„COOKIES:“ neobjeví nic, protože prohlížeč cookies teprve vyslal. Při obnovení stránky byste měli vidět asi toto:
“COOKIES: slovo=hodnota”Server vyšle cookies pro server www.server.cz s proměnnou slovo a hodnotou hodnota. Platnost vyprší ve středu 9. listopadu 99 ve 23:12:40 časového pásma GMT. Platnost cookies platí v rámci celého serveru.
Příjem cookies je zajištěn pomocí proměnné Apache HTTP_COOKIE
#!/perl/bin/perl.exe
print "Content-type: text/html\n";
print "Set-Cookie: slovo=hodnota; path=/; domain=www.server.cz;"
print " expires=Wednesday, 09-Nov-99 23:12:40 GMT\n\n";
print "<HTML>\n <HEAD>\n <TITLE> Zapis cookie</TITLE>\n ";
print "</HEAD>\n";
print "<BODY BGCOLOR=#FFFFFF LINK=#000080 VLINK=#008E47>";
print "<H1>TEST COOKIE</H1>";
print "COOKIES: $ENV{'HTTP_COOKIE'} ";
print "</HTML>";
exit;
Zápis cookies pro Netscape
Netscape je schopen příjímat cookies už od verze 2.0. Hodnoty s cookies má přehledně uloženo v jednom souboru
cookies.txt ,který se nachází v instalačním adresáři pro Netscape a v podadresáři
users/UZIVATEL, kde UZIVATEL je osobní nastavení. Standardně by to měl být asi tento adresář: C:/Program Files/Netscape/Users/UZIVATEL/cookies.txt
Příklad souboru cookies.txt
www.server.cz TRUE / FALSE 921024000 slovo hodnota
Zápis cookies pro Internet Explorer
IE umí cookies až od verze 3.0. Hodnoty cookies ukládá pro každý server do jiného textového souboru do složky C:/Windows/Cookies. Název souboru je odvozen od přihlášeného uživatele plus zavináč plus část jména serveru.Příklad jména souborů, kde kam se zapisují cookies:
UZIVATEL@server.txt – jméno cookies souboru pro server www.server.cz
UZIVATEL@server(1).txt – jméno cookies souboru pro server www.server.cz (druhé cookies)
UZIVATEL@one_server.txt – jméno cookies souboru pro server one.server.cz
Příklad souboru pro cookies:
slovo
hodnota
www.server.cz/
0
3945571328
29305607
2152735648
29255187
*
Manuál
Stručný a výstižný popis cookies najdete na serveru Netscape DevEdge Online