Naar de inhoud

HttpOnly-cookie

HttpOnly voorkomt directe cookietoegang door paginascripts. Passende verzoeken kunnen de cookie nog meesturen; sessie en rechten vereisen nog controle.

IT-beveiliging

De cookiewaarde afschermen van paginascripts

Een cookie met het attribuut HttpOnly is voor paginascripts niet toegankelijk via document.cookie. De server stelt het attribuut in met de antwoordheader Set-Cookie. Bij een sessie-identificatie beperkt dit het uitlezen door geïnjecteerde JavaScript-code. Het voorkomt niet dat zo’n script wordt uitgevoerd.

Sessie-identificatie en weergavegegevens scheiden

Een fictief projectportaal bewaart zijn sessie-identificatie in de cookie sessionId. Voor de begroeting heeft de interface alleen de weergavenaam nodig. De geplande profielaanvraag geeft na sessie- en rechtencontrole op de server displayName terug; de frontend hoeft daarvoor de sessie-identificatie niet te lezen.

De browser kan een HttpOnly-cookie nog automatisch toevoegen aan passende verzoeken, ook als deze met fetch() zijn gestart. De overige cookievoorwaarden blijven gelden. Een geïnjecteerd script zou daardoor soms binnen de aangemelde sessie acties kunnen uitvoeren zonder de cookiewaarde te kennen. Bescherming tegen XSS en CSRF en rechtencontrole op de server blijven nodig.

Het afzonderlijke attribuut Secure beperkt verzending tot HTTPS; SameSite beïnvloedt meesturen bij verzoeken tussen sites. Deze eigenschappen hebben verschillende taken.

Bronnen