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.

TjekHvad motoren ser påHvornår kontrollen består
GDPR-tjekSikkerhedsflag på servercookiesAlle 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.

Før
Set-Cookie: sessionid=abc123; Path=/
Efter
Set-Cookie: sessionid=abc123; Path=/; Secure; HttpOnly; SameSite=Lax

Hvad 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

  1. Sæt Secure på alle cookies, når sitet kører på HTTPS.
  2. Vælg SameSite bevidst: Lax til de fleste, None kun når cookien reelt skal virke på tværs — og altid sammen med Secure.
  3. Sæt HttpOnly på sessions- og autentifikationscookies.
  4. 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.