Skip to main content
Alle Termen Glossary

HttpOnly Cookies

Definition

HttpOnly cookies zijn cookies die niet toegankelijk zijn via client-side JavaScript, wat bescherming biedt tegen XSS-aanvallen die proberen sessietokens te stelen. Dit attribuut zorgt ervoor dat zelfs als een aanvaller erin slaagt kwaadaardige scripts uit te voeren, ze deze cookies niet direct kunnen benaderen. Het is een cruciale beveiligingsmaatregel voor sessiebeheer en authenticatie.

Wat HttpOnly-cookies zijn

Een HttpOnly-cookie is er een die de server markeert met het HttpOnly-attribuut in zijn Set-Cookie-header. Die ene vlag vertelt de browser de cookie buiten het bereik van client-side scripts te houden: hij wordt nog steeds automatisch meegestuurd met bijpassende HTTP-requests, zodat de applicatie normaal werkt, maar JavaScript dat op de pagina draait kan de cookie niet lezen of schrijven via document.cookie of de Cookie Store API. Het attribuut is rechtstreeks gericht op sessie- en authenticatiecookies, degene die een aanvaller het liefst wil hebben. Het verandert niets aan hoe de cookie wordt verzonden of afgebakend; dat is de taak van de aparte Secure-, SameSite-, Domain- en Path-attributen.

Waarom HttpOnly belangrijk is

De meest directe manier om een cross-site scripting-lek te misbruiken is het lezen van de sessiecookie van het slachtoffer en die naar een door de aanvaller gecontroleerde server sturen, waarmee ze de sessie opnieuw kunnen afspelen en zich als de gebruiker kunnen voordoen. HttpOnly verwijdert die mogelijkheid: zelfs code die met succes op de pagina wordt uitgevoerd, kan de cookiewaarde niet zien en kan deze dus niet wegsluizen via eenvoudige leesacties. Dat legt de lat voor session hijacking merkbaar hoger. Het is echter belangrijk om nauwkeurig te zijn over de grens: HttpOnly voorkomt dat de cookie wordt gelezen, niet dat hij wordt gebruikt. Een geïnjecteerd script kan nog steeds geauthenticeerde requests in de browser uitvoeren, meeliftend op de cookie die de browser automatisch meestuurt.

HttpOnly effectief gebruiken

Stel HttpOnly in op elke cookie waar JavaScript geen legitieme reden voor heeft om aan te raken, met name sessie- en auth-tokens, en combineer dit met Secure en een passende SameSite-waarde. Beschouw het niet als een anti-XSS-maatregel op zichzelf: de echte oplossing voor injectie is invoerverwerking, output-encoding en een sterk Content Security Policy. HttpOnly beperkt de schade als die falen. Omdat een geïnjecteerde payload nog steeds binnen de sessie kan handelen zonder ooit de cookie te lezen, is het detecteren van het kwaadaardige script zelf van belang. cside analyseert third-party script-payloads via een Script-methode en kan afwijkend gedrag in realtime blokkeren, waarmee het gat wordt gedicht dat cookie-vlaggen achterlaten.

Definitie

Als cookies HttpOnly zijn, is mijn site dan veilig voor XSS?

Nee. HttpOnly voorkomt dat een script de cookie leest, maar het geïnjecteerde script draait nog steeds met de rechten van de gebruiker en kan geauthenticeerde requests versturen, de pagina wijzigen, toetsaanslagen registreren of data uit formulieren stelen. HttpOnly beperkt één gevolg van XSS; het voorkomt de kwetsbaarheid of het overige misbruik ervan niet.

Definitie

Moet elke cookie HttpOnly zijn?

Stel het in op elke cookie die JavaScript niet nodig heeft, wat de meeste sessie- en authenticatiecookies omvat. De uitzondering is een cookie die je eigen client-side code moet lezen, bijvoorbeeld sommige CSRF-token- of UI-state-patronen. Houd voor die gevallen de waarde niet-gevoelig en vertrouw op andere beschermingen in plaats van HttpOnly van de sessiecookie te halen.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Boek een demo

Wil je dit doornemen met een engineer?

Dertig minuten, op je eigen site. Geen slides.

We laten je zien:

Welke scripts van derden er nu op je site draaien
Hoe je ervoor staat op PCI DSS 6.4.3 en 11.6.1
Welk deel van je verkeer uit bots en AI-agents bestaat

Liever gewoon een vraag stellen?

Vrije momenten zoeken…

Alleen echte mensen. Wij merken het.

Lukt het boeken niet? Agenda in een nieuw tabblad openen

Wat wil je oplossen?

Vertel het ons in één zin, dan komen we terug met iets bruikbaars in plaats van een standaardverhaal.

Waar we meestal mee helpen:

Zien welke scripts van derden op je site draaien
Bewijs voor PCI DSS 6.4.3 en 11.6.1
Bots, AI-agents en accountovername

Liever meteen een moment inplannen? Kies een tijdstip