Nyeste it-job

Lektion 13: Cookies

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.

Småkager?

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.

Hvad er en cookie?

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.

Hvordan lagres information i en cookie?

I ASP kan man med ganske få liniers kode definere eller ændre en cookie med dokumentationResponse.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.

Hvordan hentes information i en cookie?

Når man skal hente informationen i cookien, benyttes dokumentationRequest.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 
%>

Hvem har ret til at læse cookien?

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"
%>

Eksempel på en cookie

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:

Fra Windows stifinder - mappen "Cookies"

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:

HTMLTest TEKST=Denne+tekst+ligger+i+en+cookie%21 www.html.dk/tutorials/asp 0 809736192 29399148 4216577264 29399141 *

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.

Opsummering

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.


Nyhedsbrev
Tilmeld dig HTML.dk's nyhedsbrev


Er du jobsøgende?

 Ja
 Nej
Se det foreløbige resultat når du har stemt!


Se tidligere afstemninger

 Community
Brugernavn

Adgangskode

Husk

 *  Bliv medlem her
 *  Glemt password?


Om HTML.dk | Oplysninger om ophavsret | Politik om persondata | Annoncer på HTML.dk | RSS

Valid XHTML 1.1! Valid CSS! Powered by Scannet