Klockan :
 ASP, Grunderna - Allt om Cookies 2002-07-08 02:00:02 
 Information om författaren :
Namn : Jimmy Staff
Epost : admin@aspwebb.com
Hemsida : http://www.aspwebb.com
Presentation :
Ansvarig på ASPWebb!
 Meny :
Startsidan (www.aspwebb.com)
Artikelarkivet
Föregående sida
Utskriftsvänlig sida
Kommentera artikel

ASP, Grunderna - Allt om Cookies

I denna artikel ska vi lära oss allt om Cookies.

 

Vad är cookies?

Cookies, även kallat kakor är något som Internet-användarna i början inte gillade, man trodde att det var en stor säkerhetsrisk att låta webbservern spara information på deras dator. Nu är det ju så att det inte finns någon känd säkerhetsrisk med cookies. Den informationen som sparas i en cookie kan endast webbservern som skapade den läsa, ingen annan webbserver.

Det man dock måste tänka på som programmerare är att inte spara känslig information i en cookie, som t ex kontonummer.. Detta på grund av att kakan ej är skyddad på användarens dator och vem som helst kan läsa den (som sitter vid datorn).

Nej, Cookies är bra för att spara t ex Namn, adresser osv..

Du kan spara information om användaren så att han/hon ej behöver ange den informationen nästa gång de besöker sidan.

 

Vilka kan använda Cookies?

Cookies går att använda på webbläsare från Version 2.0 och uppåt. Det går dock att stänga av cookies i webbläsaren om man vill det.

 

Hur fungerar det?

Cookies är små textfiler som sparas på besökarens dator, dessa textfiler innehåller det vi som programmerare vill. En cookie kan endast läsas av den webbservern som skapade kakan.

En cookie brukar döpas ungefär så här : dittnamn@aspwebb.txt

En cookie har alltid ett bäst före datum som talar om för webbläsaren hur länge denna textfil ska sparas på datorn.

 

Hur gör man då?

Du skapar en kaka med följande kommando :

<% Response.Cookies("Kaknamn") = "Innehåll" %>
Och läser kakan med detta kommando :

<% = Request.Cookies("Kaknamn") %>
Response skriver alltså till cookien, och Request hämtar cookien.

 

Man måste även ställa in hur länge kakan ska överleva, alltså dess bäst före datum. Glömmer man att göra det så kommer kakan att tas bort när användaren stänger webbläsaren.

 

Så här ställer du in bäst före datumet :

<% Response.Cookies("Kaknamn").Expires = "2004-01-01 12:00:00" %>
Med koden ovan så kommer informationen i kakan att sparas till den första januari 2004, om inte användaren byter dator eller rensar på hårddisken.

 

Ett smidigare sätt att lösa detta på är att använda DateAdd så kan vi ställa in att den överlever en viss tid från och med dagens datum.

<% Response.Cookies("Kaknamn").Expires = DateAdd("m",1,Date%>
Detta gör att kakan kommer att sparas 1 månad från och med datumet då sidan kördes.

 

Så här kan det t ex se ut med en färdig kod för att skapa en cookie:

<%
Dim Namn, Adress
Namn = "Jimmy Staff"
Adress = "Skogen"
Response.Cookies("Namn") = Namn
Response.Cookies("Adress") = Adress
Response.Cookies("Namn").Expires = DateAdd("m",1,Date)
Response.Cookies("Adress").Expires = DateAdd("m",1,Date)
%>

Och så här läser vi kakan :

<% 
Dim Namn, Adress
Namn = Request.Cookies("Namn")
Adress = Request.Cookies("Adress")
Response.Write("Du heter " & Namn & "?
<BR>")
Response.Write("Din adress " & Adress & "?
<BR>")
%>

Om man ska spara mycket information i en Kaka så är det ganska bökigt att använda expires till varje kaka, det man gör då är att dela in kakorna i kategorier.

På detta sätt så får man en bra struktur på sina kakor.

Ett exempel :

<%
Response.Cookies("Adress")("Gata") = "Stora vägen"
Response.Cookies("Adress")("PostNr") = "999 99"
Response.Cookies("Adress")("Ort") = "Stockholm"
Response.Cookies("Adress").Expires = DateAdd("yyyy",1,Date)
%>
Koden ovan skapar en grupp med namnet "Adress", i den stoppar vi olika värden. Sen sätter vi expires på hela gruppen adress.

 

För att läsa en sådan cookie måste vi använda följande kod :

<% = Request.Cookies("Adress")("Ort") %>

Fler funktioner

Det finns även Domain, Path och Secure som egenskaper till cookies.

Domain kan du ändra domän som denna kaka tillhör och Path kan ställa in vilken sökväg denna cookie tillhör, som standard är det startmappen på webbservern som gäller, vilket gör att cookien funkar på alla undersidor och mappar på webbplatsen.

Secure kan du ändra till True eller False. True innebär att kakan ska vara säker och endast skapas via en sida som använder https (säkra sidor), om sidan ej körs via https så kommer kakan ej att skapas. False är standard och innebär att den skapar cookien i vilket fall som helst.

 

Lycka till!

 © 2010 Staff consulting - Jimmy Staff