Spørgsmålet om i hvilket omfang websteder registrerer oplysninger om deres brugere - og ikke mindst hvordan de bruger dem - er et omstridt emne. Ofte er det cookies, der bliver givet som et eksempel på hvordan man kan indsamle oplysninger om brugerne af et websted. I denne lektion vil vi kigge nærmere på hvordan cookies fungerer, og hvordan du selv kommer i gang med at bruge cookies som en del af dit websted.
Cookie betyder småkage - og er vel dermed et meget godt eksempel på, at vi skal være glade for, at så få IT-udtryk bliver oversat til dansk. Prøv f.eks. at forestille dig, hvordan en overskrift for en artikel fra ComputerWorld ville se ud på IT-dansk:
Statens brug af småkager skal undersøges
En række spørgsmål om småkager fra venstremanden Jens Rohde, får nu Forskningsministeriet til at undersøge småkage-anvendelsen i samtlige ministerier.
Nej, vel? Lad os bare blive ved med at sige cookie. Men har politikeren mon grund til at være bekymret? Eller er han bare ude for at høste presseomtale på et område, hvor meget få danskere er istand til at vurdere hvad der er fup, og hvad der er fakta. Døm selv - når du har gennemgået denne lektion vil du ihvertfald vide en del om hvad der kan lade sig gøre med cookies.
En cookie er en lille tekstfil, hvor et websted kan gemme forskellige oplysninger. En cookie ligger på brugerens harddisk - og altså ikke på serveren.
De fleste cookies udløber (sletter sig selv) efter en forud bestemt tidsperiode, som kan være alt lige fra et minut, til fem år. Men brugeren kan også selv gå ind og læse eller slette eventuelle cookies på hans/hendes PC.
De mest udbredte browsere såsom Microsoft Internet Explorer, Opera og Netscape Navigator, kan indstilles til at give brugeren valget om hvorvidt han/hun vil acceptere eller afvise en cookie. Men hvorfor så ikke bare sige nej til alle cookies - kunne være et relevant spørgsmål. Det kan man også vælge at gøre - men så må man være indstillet på at mange websites ikke fungerer - idet cookies i mange sammenhænge benyttes til at forbedre brugervenligheden og funktionaliteten på et websted.
I ASP kan man med ganske få liniers kode definere eller ændre en cookie med
Response.Cookies. Lad os se nærmere på hvordan man opretter en cookie og gemmer information i den.
Først skal man finde et navn til cookien - i dette tilfælde f.eks. "HTMLTest" - dernæst kan man definere hvilke oplysninger der skal gemmes sådan her:
<% ' Informationer lagres i cookien Response.Cookies("HTMLTest")("navn") = "C. Vinge" Response.Cookies("HTMLTest")("interesse") = "planespotting" ' Hvor længe cookien skal vare - i dette tilfælde ét år Response.Cookies("HTMLTest").Expires = Date+365 %>
I dette tilfælde gemmes oplysninger om brugerens navn og interesser. Disse oplysninger kan man f.eks. spørge brugeren om, for at kunne målrette sit websted specielt til den enkelte besøgende.
Når man skal hente informationen i cookien, benyttes
Request.Cookies på tilsvarende måde. Hvis vi f.eks. skulle bruge informationerne fra det ovenstående eksempel, vill vi kunne gøre det sådan her:
<% ' Informationer hentes i cookien strNavn = Request.Cookies("HTMLTest")("navn") strInteresse = Request.Cookies("HTMLTest")("interesse") ' Skriv dem til klienten Response.Write "<p>Hej " & strNavn Response.Write "<p>Din interesse er " & strInteresse %>
Som udgangspunkt er oplysningerne i en cookie tilgængelige fra sites på samme second level domain, fx. html.dk - men ved hjælp af atributterne domain og path kan man sætte sætte yderligere begrænsninger for adgangen til informationerne.
<% ' Informationer lagres i cookien Response.Cookies("HTMLTest")("navn") = "C. Vinge" Response.Cookies("HTMLTest")("interesse") = "planespotting" ' Hvor længe cookien skal vare - i dette tilfælde ét år Response.Cookies("HTMLTest").Expires = Date+365 ' Cookien skal kun kunne læses af www.html.dk Response.Cookies("HTMLTest").Domain = "www.html.dk" ' Cookien skal kun kunne læses af sider som ligger i denne mappe Response.Cookies("HTMLTest").Path = "/tutorials/asp" %>
Som eksempel kan vi prøve at lægge nogle informationer i en cookie på din maskine - og bagefter se hvordan den ser ud.
Følgende kode definerer cookien:
<% ' Informationer lagres i cookien Response.Cookies("HTMLTest")("tekst") = "Denne tekst ligger i en cookie!" ' Cookien skal leve i 24 timer Response.Cookies("HTMLTest").Expires = Date+1 ' Cookien skal kun kunne læses af www.html.dk Response.Cookies("HTMLTest").Domain = "www.html.dk" ' Cookien skal kun kunne læses af sider som ligger i denne mappe Response.Cookies("HTMLTest").Path = "/tutorials/asp" ' Skriv informationerne til klienten strTekst = Request.Cookies("HTMLTest")("tekst") Response.Write "<p>" & strTekst %>
Cookien bliver nu lagt på din harddisk - alt efter hvilket styresystem du anvender kan dine cookies ligge forskellige steder. Når du har fundet dem vil det formentlig se sådan ud:

Som du kan se er cookien en ganske almindelig tekstfil, som du kan åbne med f.eks. Notepad. Indholdet af den cookie vi netop har skabt vil sandsynligvis se nogenlunde sådan ud:
Vi vil ikke her gå nærmere ind i hvad de forskellige koder betyder, men blot hæfte os ved at man som bruger altså har fuld kontrol med hvilke cookies, som ligger på ens PC.
Vi har i løbet af lektionen kigget nærmere på hvad cookies kan - men ikke hvad det kan bruges til. Det er oplagt at man kunne forestille sig at nogle websteder ville benytte cookies til upassende aktiviteter. Men i langt de fleste tilfælde bliver cookies anvendt for at gøres sites mere brugervenlige eller relevante.
Hvis du vælger at benytte cookies på dit websted, så kan det eventuelt være en idé at gøre brugeren opmærksom på, at dit websted benytter cookies. Dette kan man f.eks. gøre i forbindelse med udarbejdelsen af en egentlig politik for behandling af personoplysninger.