Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Cookies, vad det är och hur man använder dem

Postad 2001-03-17 av Patrik Andersson i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 4579, Betyg: 80%

Förord

För ett par dagar sedan fick jag ett antal frågor rörande cookies i chatten samtidigt som jag läste Mingos önskemål om en adressbok till sin iMail. Så jag tänkte ta tillfället i akt att skriva en artikel om Cookies och hur man kan använda sig av dem. I min bifogade applikation så har jag skapat en adressbok som använder sig av cookies. Nu är detta inte den ultimata lösningen på en adressbok, långt ifrån, men det är ett bra case, för utvecklare som är osäkra på hur cookies fungerar, att träna på.
Innehåll
  » Vad är en Cookie?
  » Läsa cookies
  » Skapa cookies
  » Uppdatera cookies
  » Egenskaper
  » Finns cookien
  » Ta bort en cookie
  » Avslutning
Relaterade artiklar
Exempel på användningsområden för cookies:

  • Spara när besökaren var här senast

  • Spara använderspecifika inställningar såsom bakgrundsfärg, startsida med mera

  • Del av shoppingsystem

  • etc.


Se hur adressboken fungerar - http://www.comaround.se/beta/cookies. Ni får ha överseende med layouten och funktionerna runt applikationen. De är är lite kantiga och inte fullständiga.


Vad är en Cookie?

Cookies är små textfiler som skapas på användarens dator. Detta innebär att man kan spara information på klienten som servern kan nå utan att själv behöva komma ihåg denna information. Problemet med cookies är att de kan tas bort av användaren och vissa inte tillåter att cookies skrivs i sina webläsar-inställningar.
Att tänka på är att det är en ren textfil så alla som har tillgång till datorn läsa innehållet i den. Så spara inte information såsom användarID, lösenord eller annan känslig information i dem.

Du kan inte spara hur mycket information som helst i dem och du kan inte heller skapa hur många som helst. En cookie kan vara på max 4 Kb och du kan max skriva 20 cookies/domän/client.


Läsa cookies

I Request-objektet finns en kollektion, cookies, som används för att läsa värden från en cookie, som vi kallar på med följande kod:


Syntax:
Request.Cookies(namn)

Låt oss säga att vi har en cookie som lagrar användarens namn och att cookien heter userInfo. Vi börjar med en enkel cookie som endast har ett värde i sig.
För att läsa värdet i cookien och placera det i variablen userName så använder du denna kod:


<%
Dim userName 'as String
userName = Request.Cookies("userInfo")
%>

Multipla värden
En cookie kan naturligtvis har flera värden, keys. Genom att använda dig att detta så har du möjligheten att spara mer än ett värde/cookie. Om vi jämför detta med ett recordset som har ett namn och som innehåller information som hämtas från ett fält i databasen. Du kallar på informationen genom att använda dig av recordsetets namn samt fältnamn för att få tag på värdet.


<%=rs("userName")%>

Multipla värden i cookies fungerar på samma sätt. Du anger namnet på cookien samt vilken key du vill arbeta med. Nedanstående kod läser värden från 3 keys som finns i cookien userInfo.


Syntax cookie med keys:
Response.Cookies(namn)(key)


<%
Dim userName 'as String
Dim bDay 'as Date
Dim gender 'as String

userName = Request.Cookies("userInfo")("userName")
bDay = Request.Cookies("userInfo")("birthDay")
gender = Request.Cookies("userInfo")("gender")
%>

Vi läser informationen från userInfo-cookiens 3 keys som då heter userName, birthDay och gender.
Värden finns nu i variablerna userName, bDay och gender. Du kan nu arbeta med dessa variabler och göra vad du vill med dem.


Skapa cookies

För att skapa/skriva till en cookie så måste vi använda oss av Response-objektet som även det har en kollektion som heter Cookies.

Enligt dokumentationen så måste cookies skrivas innan HTTP-headern är skriven. Det innebär att koden för att skapa/läsa cookies måste finnas över . Detta gäller inte om du använder <%Response.Buffer = True%> som buffrar sidan tills att den är färdig för att sedan skicka den till klienten.

I senare versioner av ASP (läs ASP 3.0) så är Response.Buffer satt till True som standard och inte FALSE som på äldre versioner.
Detta innebär att på med ASP 3.0 så kan du använda din cookie kod över allt på sidan men varför skapa ett tillfälle för fel. Ta för vana att placera koden högst upp. Du kan ju alltid läsa in värden i lokala variabler (eller session-variabler) och använda dessa längre ner på sidan för att komma runt detta.

Om vi nu skulle fortsätta med det tidigare exemplet och skriva värden till cookien, userInfo, och dess keys.


Syntax cookie med keys:
Response.Cookies(namn)(key) = värde


<%
Response.Cookies("userInfo")("userName") = "Patrik Andersson"
Response.Cookies("userInfo")("birthDay") = "1944-06-06"
Request.Cookies("userInfo")("gender") = "Kille"
%>


Uppdatera cookies

Finns en cookie redan så kan du uppdatera informationen i den väldigt enkelt. Du gör precis som när du skapade en cookie. Det du gör är att du ändrar värdena i cookien. Vi satte värden i cookien userInfo i exemplet ovan. Om du vill ändra på ett värde (eller flera) så gör du så här:


<%
Response.Cookies("userInfo")("birthDay") = "1971-10-16"
%>





Egenskaper

Expires
En väldigt viktig egenskap är Expires. Den anger hur länge en cookie skall vara giltig. Anger vi inget värdet, datum, i Expires så kommer den att bli ogiltig när användaren stänger ner sin webläsare.


<%
Response.Cookies("userInfo).Expires = Now() + 7
'Eller
Response.Cookies("userInfo").Expires = #2002-03-25#
%>

Märk att du måste ha # (brädhögar) runt datumet om du explicit anger ett datum.

Domain
Värdet du anger i denna egenskap specifierar på vilken domän som cookien kan läsas. Även om du inte anger ett värde här så sätts värdet i cookien till den domän som skrev cookien. Du kan alltså inte ange en annan domän. Om du inte skall använda dig av path-egenskapen så behöver du inte sätta något värde.
Vill du har information om hur du använder samma cookie på flera domäner så läs denna artikel.

Så om cookien endast skall läsas från domänen den skapades på så behöver du inte ange någon domain.


<%
Response.Cookies("userInfo).Domain = "www.pellesoft.se"
%>

Path
Denna egenskap specifierar mer från var cookien kan läsas. Den använder värdet i domain-egenskapen.
Lämnar du denna blank så kan cookien läsas från alla sidor och undermappar. Om du vill exklusivt ange från vilka mappar och sidor en cookie genom att ange ett värde så måste du även ange ett värde i domain-egenskapen.


<%
Response.Cookies("userInfo).Path = "/en/sökväg/ner/till/vald/mapp/"
'För hela siten
Response.Cookies("userInfo).Path = "/"
%>

Secure
Om du anger True i denna egenskap så kan bara cookien användas om webläsaren använder Secure Sockets eller https://. Skrevs cookien under Secure Sockets eller https:// så sätts värdet automatiskt till True och vice versa om du inte anger något värde.


<%
Response.Cookies("userInfo).Secure = True
%>

Bara för att du anger True i denna egenskap så innebär inte det att cookie blir mer säker än förut. Det är fortfarande en textfil som lagras på klientens dator.


Finns cookien

För att undersöka om en specifik cookie finns så kan du göra på detta sätt.


<%
If Request.Cookies("userInfo) = "" Then
'cookien finns inte
Else
'cookien finns
End if
%>

Detta är också ett sätt för att undersöka om du kan skriva en cookie till klienten. Nackdelen är att det genereras ingen felkod om du inte kan skapa en cookie så det du får göra är att skapa en cookie för att sedan läsa den. Får du ett svar så tillåter klienten att du skriver cookies.


Ta bort en cookie

För att enkelt ta bort en cookie så anger du ett datum som har passerats i Expires egenskapen. Du kan även blanka värdena i cookien.


<%
Response.Cookies("userInfo).Expires = Now() -7
'Eller
Response.Cookies("userInfo").Expires = #2000-01-01#
'Eller
Response.Cookies("userInfo") = ""
%>


Avslutning

Tänk på följande när du använder cookies:

  • Alla accepterar inte cookies.

  • Cookies kan tas bort av användaren.

  • Cookies är vanliga textfiler som kan läsas av alla som har tillgång till datorn så spara ingen känslig information i dem.


Jag bifogar filen som demon består av. Titta gärna på demon. Ni för modifiera den så att den passar just er lösning.

Håll utkik efter nästa artikel. Har ni några frågor så iMaila mig .

Vi hörs och syns
/Putte
Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
1 801
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies