108 votes

Comment fonctionne le témoin "Secure" ?

Je sais qu'un cookie avec secure ne sera pas envoyé via une connexion non cryptée. Je me demande comment cela fonctionne en profondeur.

Qui est chargé de déterminer si le cookie sera envoyé ou non ?

96voto

Cratylus Points 21838

Le client ne définit ce paramètre que pour les connexions cryptées, ce qui est défini dans le champ RFC 6265 :

L'attribut Secure limite la portée du cookie aux canaux "sécurisés" (où "sécurisé" est défini par l'agent utilisateur). Lorsqu'un cookie possède l'attribut Secure, l'agent utilisateur n'inclut le cookie dans une demande HTTP que si la demande est transmise par un canal sécurisé (généralement HTTP sur Transport Layer Security (TLS) [RFC2818]).

Bien qu'apparemment utile pour protéger les cookies contre les attaquants actifs du réseau, l'attribut Secure ne protège que la confidentialité du cookie. Un attaquant de réseau actif peut écraser les cookies Secure à partir d'un canal non sécurisé, perturbant ainsi leur intégrité (voir la section 8.6 pour plus de détails).

52voto

Alain Tiemblo Points 8884

Un mot de plus sur le sujet :

Omettre secure parce que votre site web example.com est entièrement https n'est pas suffisant.

Si votre utilisateur atteint explicitement http://example.com ils seront redirigés vers https://example.com mais c'est déjà trop tard ; la première requête contenait le cookie.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X