Hoppa till innehållet

HttpOnly-kaka

HttpOnly hindrar skript från direkt åtkomst till kakan. Förfrågningar som matchar kan fortfarande skicka den; session och rättigheter måste kontrolleras.

IT-säkerhet

Skydda kakans värde från sidans skript

En kaka med attributet HttpOnly är inte tillgänglig för sidans skript via document.cookie. Servern sätter attributet i svarsrubriken Set-Cookie. För en sessionsidentifierare begränsar detta avläsning genom injicerad JavaScript. Det hindrar inte skriptet från att köras.

Skilj sessionsidentifierare från visningsdata

En fiktiv projektportal lagrar sin sessionsidentifierare i kakan sessionId. För hälsningen behöver gränssnittet bara visningsnamnet. Det planerade profilanropet returnerar displayName efter serverns kontroll av session och rättigheter; frontend behöver inte läsa sessionsidentifieraren.

Webbläsaren kan fortfarande automatiskt bifoga en HttpOnly-kaka till passande förfrågningar, även dem som startas med fetch(). Övriga villkor för kakan gäller fortfarande. Ett injicerat skript skulle därför ibland kunna utföra handlingar i den inloggade sessionen utan att känna till kakans värde. Skydd mot XSS och CSRF och serverns behörighetskontroll behövs fortfarande.

Det separata attributet Secure begränsar sändning till HTTPS; SameSite påverkar sändning vid förfrågningar mellan webbplatser. Egenskaperna har olika uppgifter.

Källor