Skip to content

À quoi servent les attributs de cookie HttpOnly, Secure et SameSite ?

Réponse courte

HttpOnly cache le cookie à JavaScript afin que le XSS ne puisse pas le voler via document.cookie. Secure garantit que le cookie n'est envoyé que sur HTTPS, bloquant l'interception réseau. SameSite contrôle si le cookie est envoyé sur les requêtes intersites, atténuant le CSRF. Ensemble, ils renforcent les cookies de session contre les voies de vol et d'abus les plus courantes.

Un cookie de session est un jeton au porteur : quiconque le détient est l'utilisateur. Les attributs que vous lui définissez déterminent donc à quel point il est difficile pour un attaquant de voler, intercepter ou abuser de ce jeton. Trois attributs font l'essentiel du travail, et chacun correspond à une menace distincte.

HttpOnly — bloque l'accès par script

HttpOnly indique au navigateur de ne pas exposer le cookie à JavaScript. document.cookie ne peut pas le lire. C'est l'atténuation clé contre le vol de session basé sur XSS : même si un attaquant injecte du script, il ne peut pas exfiltrer le cookie de session. Notez que cela n'empêche pas le XSS lui-même — le script injecté peut toujours faire des requêtes authentifiées *en tant qu'*utilisateur — mais cela empêche le cookie de quitter le navigateur, ce qui contient les dégâts.

Secure — HTTPS uniquement

Secure indique au navigateur d'envoyer le cookie uniquement sur HTTPS. Sans cela, une seule requête http:// accidentelle (ou forcée par un attaquant) transmettrait le cookie de session en clair, là où un attaquant réseau peut l'intercepter. Combiné à HSTS, cela ferme la voie d'interception réseau.

SameSite — envoi intersite

SameSite contrôle si le cookie accompagne les requêtes provenant d'autres sites :

  • Strict — jamais envoyé en intersite (protection CSRF la plus forte, mais peut perturber les liens entrants vers des pages authentifiées).
  • Lax — envoyé sur les navigations de premier niveau mais pas sur les sous-requêtes/POST intersites ; un bon défaut qui bloque le CSRF classique.
  • None — toujours envoyé, et nécessite Secure.

Ceinture et bretelles : préfixes de nom

Le préfixe __Host- permet au navigateur d'imposer qu'un cookie soit Secure, de chemin / et non limité à un domaine — une protection contre les astuces de fixation de cookie / sous-domaine.

Les recruteurs recherchent la correspondance attribut-menace (HttpOnly/vol par XSS, Secure/écoute, SameSite/CSRF) et la nuance selon laquelle HttpOnly limite l'impact du XSS plutôt que de l'empêcher.

Questions de suivi probables

  • Pourquoi HttpOnly n'empêche-t-il pas le XSS, mais en limite seulement l'impact ?
  • Quelle est la différence entre SameSite=Lax et SameSite=Strict ?
  • Qu'impose le préfixe de nom de cookie __Host- ?

Sources

Recevez 100 questions d'entretien en cybersécurité + réponses

Laissez votre e-mail et nous vous enverrons le pack PDF gratuit et le jeu de flashcards.

Pas de spam. Désabonnez-vous à tout moment.