Tutte le guide
Gravità AltoSicurezza dei cookie

I flag dei cookie Secure, HttpOnly e SameSite

I cookie di sessione sono un bersaglio primario. Tre attributi — Secure, HttpOnly e SameSite — determinano se un malintenzionato può rubarli o usarli in modo improprio. I flag mancanti portano direttamente al dirottamento delle sessioni e al CSRF.

Che cos'è

Secure invia il cookie solo tramite HTTPS. HttpOnly lo nasconde a JavaScript (document.cookie). SameSite controlla se viene inviato con le richieste cross-site.

Insieme riducono la superficie d'attacco: un malintenzionato non può leggere il cookie tramite script iniettato, non può intercettarlo su HTTP e non può sfruttarlo da un altro sito.

Perché è importante

Senza HttpOnly, qualsiasi bug XSS può leggere il cookie di sessione e consegnare al malintenzionato una sessione già autenticata. Senza Secure, il cookie trapela con qualsiasi richiesta HTTP in chiaro.

Senza SameSite, il browser allega il cookie alle richieste cross-site, il meccanismo su cui si basano gli attacchi CSRF.

Come risolverlo

Imposta tutti e tre sui cookie di sessione

La maggior parte dei framework li espone come opzioni quando imposti il cookie.

res.cookie("session", token, {
  secure: true,
  httpOnly: true,
  sameSite: "lax", // or "strict" for maximum protection
  path: "/",
});
Usa i prefissi nel nome del cookie

Dare a un cookie il prefisso __Host- obbliga il browser a richiedere Secure, Path=/ e nessun Domain: una base solida e auto-applicata per i cookie di sessione.

Ricorda che SameSite=None richiede Secure

Se hai davvero bisogno di cookie cross-site, SameSite=None viene rispettato solo quando è impostato anche Secure; altrimenti i browser moderni scartano il cookie.

FAQ

Lax o Strict per SameSite?

Lax è un valore predefinito sicuro che consente comunque le navigazioni di primo livello. Strict è più restrittivo ma può rompere i flussi in cui gli utenti arrivano da link esterni aspettandosi di essere già connessi.

Questi flag fermano l'XSS?

HttpOnly limita i danni dell'XSS nascondendo il cookie, ma non previene l'XSS. Abbinalo a una robusta Content-Security-Policy.

La tua app è interessata?

AppSafe controlla questo e decine di altri problemi in un'unica scansione gratuita.

Scansiona la mia app gratis