Kort svar: Secure sikrer, at cookien kun sendes over HTTPS. SameSite begrænser, hvornår den følger med på tværs af websites. HttpOnly holder den uden for JavaScripts rækkevidde. Ahorizon læser Set-Cookie-headerne i serverens svar og måler andelen af cookies, der har både Secure og SameSite sat.
Hvad Ahorizon måler
Kontrollen indgår i ét af tjekkene. Tærsklerne nedenfor er dem, motoren faktisk regner med.
| Tjek | Hvad motoren ser på | Hvornår kontrollen består |
|---|---|---|
| GDPR-tjekSikkerhedsflag på servercookies | Alle Set-Cookie-headere i serverens svar, og hvor mange af dem der har både Secure og SameSite. | Scoren er andelen af cookies med begge flag. Findes ingen Set-Cookie-headere, får kontrollen status “ikke relevant”. |
Sådan ser det ud i koden
En sessionscookie uden flag kan sendes ukrypteret og læses af scripts på siden.
Set-Cookie: sessionid=abc123; Path=/Set-Cookie: sessionid=abc123; Path=/; Secure; HttpOnly; SameSite=LaxHvad fundet betyder
- Uden Secure kan cookien sendes over en ukrypteret forbindelse og opsnappes undervejs.
- Uden SameSite kan den følge med på anmodninger fra andre websites — grundlaget for CSRF-angreb.
- Uden HttpOnly kan et script på siden læse sessionscookien, og så er en XSS-fejl pludselig en kontoovertagelse.
Sådan retter du det
- Sæt Secure på alle cookies, når sitet kører på HTTPS.
- Vælg SameSite bevidst: Lax til de fleste, None kun når cookien reelt skal virke på tværs — og altid sammen med Secure.
- Sæt HttpOnly på sessions- og autentifikationscookies.
- Gennemgå også cookies sat af tredjeparter; de tæller med i den samlede risiko.
Det kan tjekket ikke afgøre
- Motoren læser cookies sat i serverens HTTP-svar. Cookies, der sættes med JavaScript i browseren, ses ikke.
- Kontrollen vurderer flagene, ikke om cookien overhovedet burde være sat på det tidspunkt.
- Den kan ikke afgøre, om en SameSite-værdi er den rigtige for det konkrete flow.