Vad är cookies? Så minns webbplatser dig
En cookie är en liten textbit som en webbplats ber din webbläsare lagra och sedan skicka tillbaka vid varje senare besök på sajten. Så "minns" en webbplats dig: att du är inloggad, vad som finns i din kundvagn, vilket språk du valde. Cookies är bara data, inte program, men eftersom de kan identifiera dig är de viktiga både för säkerhet och integritet.
Varför det spelar roll när du bygger med AI
Cookies ligger under flera funktioner som du ber en AI-byggare om, ofta utan att ordet "cookie" ens nämns:
- Inloggning. I de flesta webbappar betyder "håll mig inloggad" en sessionscookie. Hur den cookien är konfigurerad avgör hur lätt den är att stjäla.
- Kundvagnar och inställningar. En kundvagn som överlever en sidomladdning bygger ofta på en cookie eller på lagring i webbläsaren.
- Analys och annonser. Om du lägger till Google Analytics, en Meta-pixel eller en chattwidget tillkommer oftast cookies från andra företag.
- Juridiska meddelanden. På många håll behöver vissa cookies besökarens samtycke först, och det är därifrån cookie-bannrarna kommer.
Om du vet vilka cookies din app sätter och varför kan du göra bättre val för säkerhetsinställningar, samtycke och din integritetspolicy.
En vardaglig jämförelse
Tänk dig en garderobslapp. Du lämnar in din rock och får en numrerad lapp. Lappen innehåller inte din rock, bara ett nummer. Varje gång du kommer tillbaka till disken visar du lappen, och personalen vet vilken rock som är din.
En sessionscookie fungerar på samma sätt. När du loggar in behåller servern dina uppgifter på sin sida och ger din webbläsare en lapp: ett långt slumpmässigt ID. Din webbläsare visar lappen vid varje förfrågan, och servern slår upp vem du är. Den som kopierar lappen kan hämta rocken, och därför måste inloggningscookies skyddas.
Hur en cookie faktiskt fungerar
- Du besöker en sajt. Serverns svar innehåller ett huvud som liknar
Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax. - Din webbläsare lagrar den, kopplad till sajtens domän.
- Vid varje senare förfrågan till samma sajt lägger webbläsaren automatiskt till
Cookie: session_id=8f3k.... - Servern läser den och vet att det är du.
Sidans JavaScript kan också skapa cookies, men de viktigaste, alltså inloggningssessioner, bör sättas av servern och döljas för JavaScript.
Typer av cookies
| Typ | Vad det betyder | Exempel |
|---|---|---|
| Sessionscookie | Inget utgångsdatum. Raderas när webbläsarsessionen avslutas | Ett kortlivat steg i kassan |
| Beständig cookie | Har ett utgångsdatum (Expires eller Max-Age) och överlever omstarter | "Kom ihåg mig i 30 dagar" |
| Förstapart | Sätts av sajten i adressfältet | Din inloggning på den sajten |
| Tredjepart | Sätts av en annan domän som är inbäddad i sidan | Ett annonsnätverks spårnings-ID |
| Helt nödvändiga | Behövs för en tjänst som användaren har begärt | Inloggningssession, kundvagn |
| Icke-nödvändiga | Bra att ha för sajtägaren | Analys, annonsering, A/B-test |
Webbläsare har successivt begränsat tredjepartscookies eftersom de används för att spåra människor över webbplatser. Flera stora webbläsare blockerar nu många av dem som standard, och detaljerna förändras hela tiden. Bygg därför inget viktigt på tredjepartscookies.
Ett praktiskt exempel: en liten webbutik
Anta att du har byggt en butik som säljer handgjorda ljus. Här är cookies som en förnuftig version skulle sätta, och varför.
session: sätts när ägaren eller en kund loggar in. Den innehåller bara ett slumpmässigt ID, och servern behåller de riktiga sessionsdata. Inställningar: HttpOnly (sidans skript kan inte läsa den), Secure (skickas bara över HTTPS) och SameSite=Lax (skickas inte vid de flesta förfrågningar som startas av andra sajter). Helt nödvändig.
cart_id: gör att en besökare som inte är inloggad kan behålla sin varukorg. Den pekar på en kundvagn som sparats i databasen. Helt nödvändig, eftersom besökaren har begärt att lägga saker i en kundvagn.
theme: kommer ihåg mörkt läge. Detta kan vara en cookie, men den behöver aldrig nå servern, så browserns localStorage är enklare.
Analyscookies: läggs till om du installerar ett analysverktyg. Dessa är icke-nödvändiga. I EU och Storbritannien kräver de i allmänhet samtycke innan de sätts, så analysskriptet bör vänta tills besökaren klickar på "Acceptera".
Lägg märke till vad butiken inte lagrar i cookies: kundens namn, adress eller kortuppgifter. Cookies följer med varje förfrågan och finns på användarens enhet, så de bör innehålla ID:n, inte personuppgifter.
Vanliga begrepp förklarade
| Begrepp | Vad det betyder |
|---|---|
| Cookie | Ett litet namn–värde-par som webbläsaren lagrar och skickar tillbaka till sajten. |
Set-Cookie | Svarshuvudet som servern använder för att skapa eller uppdatera en cookie. |
| Session | Serverns post över en inloggad användare, kopplad till ett cookie-ID. |
HttpOnly | Hindrar sidans JavaScript från att läsa cookien, vilket begränsar skadan från injicerade skript. |
Secure | Cookien skickas bara över krypterade HTTPS-anslutningar. |
SameSite | Styr om cookien skickas vid förfrågningar från andra sajter (Strict, Lax eller None). |
Expires / Max-Age | När cookien ska raderas. |
| Domain / Path | Vilka adresser på sajten som tar emot cookien. |
| localStorage | Lagring i webbläsaren som sidans kod kan läsa, men som inte skickas automatiskt till servern. |
| XSS | Cross-site scripting: ett angripares skript som körs på din sida och kan försöka stjäla data. |
| CSRF | Cross-site request forgery: en annan sajt som lurar webbläsaren att skicka en förfrågan med dina cookies. |
| Cookie-samtycke | Att be besökare om tillstånd innan icke-nödvändiga cookies sätts. |
Vanliga misstag och missuppfattningar
- "Cookies är virus." De är ren text. De kan inte köra kod på din dator.
- Att lägga känslig data i cookies. Lagra ett slumpmässigt ID och behåll uppgifterna på servern.
- Inloggningstokens i localStorage. Alla skript som körs på sidan kan läsa localStorage, även ett injicerat. En
HttpOnly-cookie kan inte alls läsas av sidans skript. - Saknade
SecureochHttpOnly. Dessa två flaggor är billiga och stänger vanliga hål. - Att anta att en banner täcker allt. En banner som laddar analys innan någon klickat på "Acceptera" gör inte sitt jobb.
- Att glömma utloggning. Utloggning bör radera cookien och avsluta sessionen på servern, så att en kopierad cookie slutar fungera.
- "Om jag inte använder cookies gäller inga integritetsregler." Regler som GDPR täcker personuppgifter oavsett var de lagras, även i local storage, enhetsfingeravtryck och serverloggar.
Vad du ska be din AI-byggare om
- "Lista varje cookie som appen sätter, vad den är till för, hur länge den gäller och om den är helt nödvändig."
- "Använd en
HttpOnly-,Secure-,SameSite=Lax-cookie för inloggningssessionen. Lägg inga autentiseringstokens i localStorage." - "Behåll bara ett slumpmässigt sessions-ID i cookien. Lagra sessionsdata på servern."
- "Vid utloggning, rensa cookien och ogiltigförklara sessionen på servern."
- "Ladda inte analys- eller marknadsföringsskript förrän besökaren har godkänt dem, och kom ihåg deras val."
- "Lägg till ett enkelt cookie-avsnitt i integritetspolicyn som matchar listan ovan."
För samtyckesdelen, se hur du lägger till cookie-samtycke. För hur cookies hänger ihop med inloggningar, läs vad autentisering är.
Cookies i Mythex
Mythex tillhandahåller ingen inbyggd inloggning för din apps användare, så cookies som din app sätter kommer från dess egen kod och de verktyg du lägger till i den, till exempel en sessionscookie från den autentiseringsmetod du väljer. Be agenten i chatten att lista dem, skärpa deras inställningar eller lägga till en samtyckesbanner, och kontrollera resultatet i live-förhandsvisningen innan du publicerar. Dokumentationsreceptet om att lägga till inloggning i din app är en bra startprompt, och säkerhet för appar du bygger förklarar hur du håller nycklar och hemligheter borta från webbläsaren.
Frågor
Vad är en cookie på en webbplats?
En cookie är en liten textbit som en webbplats ber din webbläsare att lagra. Webbläsaren skickar tillbaka den vid varje senare förfrågan till sajten, vilket gör att sajten kan komma ihåg saker som om du är inloggad eller vad som finns i din kundvagn.
Är cookies farliga?
Cookies är bara data, inte program, så de kan inte köra kod eller infektera en dator. Problemen gäller integritet, när tredjepartscookies spårar dig över flera sajter, och säkerhet, när en inloggningscookie stjäls och används för att utge sig för att vara du.
Vad är skillnaden mellan förstapartscookies och tredjepartscookies?
En förstapartscookie sätts av sajten i adressfältet, till exempel en inloggningscookie. En tredjepartscookie sätts av en annan domän som är inbäddad i sidan, till exempel ett annonsnätverk, och används ofta för att följa dig över många sajter.
Behöver jag en cookie-banner?
Det beror på var dina användare finns och vilka cookies du använder. I EU och Storbritannien kräver icke-nödvändiga cookies, som analys eller annonsering, i allmänhet samtycke först. Cookies som är helt nödvändiga för tjänsten, till exempel en inloggningssession, kräver oftast inte det. Kontrollera vilka regler som gäller för dig.
Vad är skillnaden mellan cookies och localStorage?
Båda lagrar data i webbläsaren. Cookies skickas automatiskt till servern vid varje förfrågan, vilket passar inloggningar. localStorage stannar i webbläsaren och läses bara av sidans egen kod, vilket passar inställningar som ett tema.