Analyseur Set-Cookie
Analyseur Set-Cookie
Collez des en-têtes de réponse Set-Cookie multilignes pour inspecter les attributs et signaler les combinaisons SameSite / Secure risquées.
Cartes d'attributs de cookie
setCookieParser.attr.maxAgeHint
Aperçu JSON
[
{
"index": 0,
"raw": "session=abc123; Path=/; HttpOnly; Secure; SameSite=Lax",
"name": "session",
"value": "abc123",
"decodedValue": "abc123",
"attributes": [
{
"key": "path",
"value": "/"
},
{
"key": "httponly",
"value": null
},
{
"key": "secure",
"value": null
},
{
"key": "samesite",
"value": "Lax"
}
],
"attributeMap": {
"path": "/",
"httponly": true,
"secure": true,
"samesite": "Lax"
},
"warnings": []
},
{
"index": 1,
"raw": "preview=1; Max-Age=600; SameSite=None; Secure",
"name": "preview",
"value": "1",
"decodedValue": "1",
"attributes": [
{
"key": "max-age",
"value": "600"
},
{
"key": "samesite",
"value": "None"
},
{
"key": "secure",
"value": null
}
],
"attributeMap": {
"max-age": "600",
"samesite": "None",
"secure": true
},
"warnings": [
"warn.missingHttpOnly",
"warn.missingPath"
]
}
]Lorsque les navigateurs rejettent des cookies, la valeur est rarement en cause : ce sont généralement les attributs Set-Cookie.
Recommandations connexes
Qu'est-ce qu'un analyseur Set-Cookie ?
Un analyseur Set-Cookie est un outil de débogage conçu spécifiquement pour le contenu `Set-Cookie` dans les en-têtes de réponse HTTP. Son objectif n'est pas simplement de diviser une ligne de texte par des points-virgules, mais d'aider les développeurs à déterminer : si la configuration des cookies du serveur est correcte, pourquoi le navigateur ne l'a pas acceptée, quelles combinaisons d'attributs présentent des risques de sécurité ou de compatibilité, et si le Set-Cookie actuel est adapté aux scénarios intersites, d'authentification unique, d'iframe, de cookies tiers ou de session.
Contrairement à Cookie dans les en-têtes de requête, Set-Cookie est l'« instruction de configuration du serveur envoyée au navigateur ». Il contient non seulement `name=value` mais également des attributs tels que SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age et Partitioned. Ces champs déterminent directement si le navigateur stocke le cookie, quand il expire, à quels chemins et domaines il s'applique, et s'il peut être envoyé dans des requêtes intersites. Par conséquent, la cause racine de nombreux problèmes de « perte de session » — navigateurs n'envoyant pas de cookies, scénarios cross-origin ne fonctionnant pas — réside souvent non pas dans la valeur elle-même, mais dans la configuration des attributs Set-Cookie.
La valeur de cette page réside dans l'extraction structurée de ces attributs à partir des en-têtes de réponse bruts, puis dans la réalisation de vérifications statiques selon les règles réelles du navigateur. Par exemple : SameSite=None manque-t-il de Secure, Partitioned est-il associé à Secure, le préfixe __Host- définit-il incorrectement un Domain, Max-Age est-il invalide ou nul, Expires manque-t-il un Max-Age correspondant ? Les navigateurs n'affichent généralement pas d'erreurs explicites pour ces problèmes comme ils le font pour les erreurs de syntaxe ; au lieu de cela, ils les rejettent silencieusement ou simplement « ne fonctionnent pas », rendant la vérification assistée par outil essentielle.
Si vous voulez simplement savoir quels cookies sont actuellement envoyés dans une requête, ne restez pas sur cette page : utilisez plutôt l'Analyseur HTTP Cookie, qui est mieux adapté à l'analyse des en-têtes de requête. Cette page est conçue pour la résolution de problèmes d'en-têtes de réponse : « pourquoi le navigateur ne l'a pas stocké », « cette configuration de cookies du serveur présente-t-elle des risques cachés » et « la combinaison d'attributs de sécurité et intersites est-elle correcte ».
Cas d'utilisation
- Lorsque les navigateurs rejettent des cookies, identifiez rapidement si le problème vient de SameSite, Secure, HttpOnly ou de la configuration Path/Domain
- Dans les scénarios de connexion tierce, d'authentification unique, d'intégration d'iframe ou de requêtes intersites, vérifiez que SameSite=None est correctement associé à Secure
- Lors des audits de sécurité, vérifiez par lots si les cookies renvoyés par l'API manquent de HttpOnly, de SameSite ou contiennent des combinaisons d'attributs à haut risque
- Vérifiez que les cookies avec préfixe __Host- / __Secure- satisfont les contraintes strictes du navigateur pour éviter le rejet silencieux
- Lors du débogage de schémas partitionnés tiers Partitioned Cookie / CHIPS, confirmez que Partitioned et Secure sont tous deux déclarés
- Comparez les différences d'en-têtes de réponse Set-Cookie entre les environnements de développement, de test et de production pour résoudre les anomalies de session après changements d'environnement
Comment utiliser
- Copiez le contenu de l'en-tête de réponse Set-Cookie depuis DevTools du navigateur, des outils de capture de paquets ou des journaux du serveur (multilignes pris en charge)
- Collez dans la zone de saisie ; l'outil supprime automatiquement le préfixe `Set-Cookie:` et analyse ligne par ligne
- Affichez le nom, la valeur, la valeur décodée URL, les cartes d'attributs et les étiquettes d'avertissement de chaque cookie
- Copiez les en-têtes bruts ou affichez l'aperçu JSON pour envoyer les résultats aux développeurs backend, les coller dans des issues ou écrire dans des scripts de test
Fonctionnalités
- Analyse multi-cookies indépendante : chaque ligne Set-Cookie devient sa propre carte affichant nom, valeur brute, valeur décodée URL et attributs
- Vérifications automatiques de 14 problèmes courants : couvre les risques fréquents liés à SameSite, Secure, HttpOnly, Path, Domain, Max-Age, Expires, aux préfixes __Host-/__Secure- et à Partitioned
- Décomposition complète des attributs : affichage structuré de SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age, Partitioned et autres champs
- Conversion Max-Age lisible par l'humain : les secondes sont automatiquement converties en minutes, heures et jours, éliminant les calculs manuels
- Saisie par lots multilignes : collez des en-têtes de réponse Set-Cookie complets copiés directement depuis DevTools ou des outils de capture de paquets
- Copie d'en-tête brut et aperçu JSON : pratique pour renvoyer aux développeurs backend et pour rédiger documentation, issues, scripts et cas de test
- Traitement local sans téléchargement : sessions, jetons et cookies de connexion sensibles analysés entièrement dans le navigateur sans quitter votre appareil
Quand utiliser l'Analyseur Set-Cookie par rapport aux deux autres pages ?
Voir « ce que le serveur a défini » et « ce qui est réellement dans la requête » sont deux choses différentes — ne les confondez pas.
| Outil | Meilleure entrée | Idéal pour | Point fort principal |
|---|---|---|---|
| Analyseur Set-Cookie (cette page) | En-têtes de réponse Set-Cookie | Déboguer pourquoi les navigateurs rejettent les cookies, pourquoi l'intersite ne fonctionne pas, pourquoi les attributs de sécurité présentent des risques | Décomposition complète des attributs avec vérifications automatiques de 14 problèmes de configuration fréquents |
| Analyseur HTTP Cookie | En-tête de requête Cookie, document.cookie | Confirmer quels cookies sont réellement envoyés dans les requêtes, si les valeurs sont encodées URL, si des noms dupliqués existent | Centré sur l'analyse des paires nom-valeur d'en-tête de requête et la sortie standardiséeOuvrir l'Analyseur HTTP Cookie |
| Analyseur de cookies | Chaînes Cookie mixtes et scénarios de débogage Set-Cookie | Lorsque vous n'êtes pas sûr de la source de vos données ou voulez basculer rapidement entre les modes Cookie / Set-Cookie sur une page | Agit comme point d'entrée général de débogage de cookies et prend en charge l'export de fichiers Netscape CookieOuvrir l'Analyseur de Cookies |
Best Practices
Déterminez d'abord si le problème est « échec de définition » ou « non envoyé dans la requête »
Si le navigateur n'a jamais stocké le cookie du tout, commencez par cette page. Si le navigateur l'a stocké mais que les requêtes ultérieures ne l'incluent pas, utilisez l'Analyseur HTTP Cookie en complément. Set-Cookie et l'en-tête de requête Cookie sont deux phases différentes.
Pour les scénarios intersites, vérifiez d'abord la combinaison SameSite=None et Secure
L'erreur la plus courante dans l'authentification unique, la connexion tierce, l'intégration d'iframe et les requêtes cross-origin est SameSite=None sans Secure. Éliminez ce problème d'abord avant d'étudier la logique du serveur et les politiques du navigateur.
Ne jugez pas les préfixes __Host- / __Secure- uniquement par leur nom : vérifiez que toutes les contraintes sont respectées
De nombreuses équipes supposent que l'ajout de `__Host-` ou `__Secure-` au nom d'un cookie le rend plus sûr, mais si les conditions de support telles que Secure, Path=/ et Domain ne sont pas satisfaites, les navigateurs continueront de le rejeter.
Lors de la documentation ou de la reproduction de problèmes, conservez à la fois les en-têtes bruts et la sortie JSON
Les en-têtes bruts aident les développeurs backend et les opérations à vérifier les réponses réelles ; JSON est adapté pour coller dans les issues, les cas de test et les scripts. Conserver les deux est préférable à une simple capture d'écran DevTools pour la reproduction et la collaboration.
FAQ
Quelle est la différence entre l'analyseur Set-Cookie et l'analyseur d'en-tête de requête Cookie ?
L'analyseur Set-Cookie se concentre sur les en-têtes de réponse du serveur, examinant si le navigateur acceptera le cookie et si les attributs présentent des problèmes. L'analyseur d'en-tête de requête Cookie se concentre sur les requêtes sortantes du navigateur, montrant exactement quels cookies sont envoyés. Si vous résolvez des problèmes de configuration SameSite, HttpOnly, Secure, Path, Domain, Expires ou Max-Age, utilisez d'abord cette page.
Analyseur HTTP CookiePourquoi le navigateur reçoit-il la réponse mais ne définit-il pas le cookie ?
C'est précisément le problème que cet outil est conçu pour résoudre. Les causes courantes incluent SameSite=None sans Secure, cookies Secure définis sur des pages HTTP, violations du préfixe __Host-, Partitioned sans Secure, configuration Path ou Domain déraisonnable, Max-Age invalide ou nul, et restrictions de politique de cookies tiers du navigateur.
Quels risques Set-Cookie courants l'outil vérifie-t-il ?
Cette page détecte automatiquement 14 problèmes fréquents : SameSite=None sans Secure, valeur SameSite invalide, Partitioned sans Secure, HttpOnly manquant, Path manquant, SameSite manquant, préfixe __Host- sans Secure / Path différent de / / Domain incorrect, préfixe __Secure- sans Secure, Max-Age invalide, Max-Age=0, Domain commençant par un point et Expires sans Max-Age.
Pourquoi SameSite=None doit-il être associé à Secure ?
Les navigateurs modernes exigent que les cookies disponibles pour l'envoi intersite avec `SameSite=None` incluent également l'attribut `Secure` ; sinon, les navigateurs les rejettent généralement directement. Ce problème est extrêmement courant lors de la connexion tierce, de l'authentification unique (SSO), de l'intégration d'iframe et du débogage de requêtes cross-origin.
Pourquoi les navigateurs rejettent-ils les cookies avec préfixes __Host- et __Secure- ?
`__Host-` et `__Secure-` sont des préfixes de sécurité avec des contraintes strictes. `__Host-` nécessite Secure, Path=/ et aucun attribut Domain ; `__Secure-` nécessite au minimum l'attribut Secure. Si ces règles sont violées, les navigateurs ignorent silencieusement le cookie.
Comment dois-je interpréter Max-Age et Expires ?
Max-Age est une durée relative en secondes et a généralement la priorité sur Expires ; Expires est un point temporel absolu qui dépend de l'horloge du client. De nombreux serveurs définissent uniquement Expires sans Max-Age, ce qui fonctionne mais est plus sujet aux erreurs lors du débogage en raison du fuseau horaire ou du décalage de l'horloge système.
Cet outil est-il adapté au débogage des problèmes de cookies intersites et tiers ?
Oui. Que ce soit dans des scénarios de connexion tierce, d'authentification unique, d'iframes intégrés, d'API cross-origin ou de CHIPS (Partitioned Cookie), cet outil vous aide à vérifier rapidement si la combinaison de SameSite, Secure et Partitioned est correcte.
Puis-je copier ou exporter les résultats analysés ?
Oui. Vous pouvez copier l'en-tête Set-Cookie brut en un clic ou afficher l'aperçu JSON structuré, puis coller le nom, la valeur, les attributs et les résultats d'avertissement de chaque cookie dans des issues, de la documentation, des scripts de test ou des notes de débogage.
Mes sessions et jetons copiés seront-ils téléchargés sur un serveur ?
Non. L'analyse Set-Cookie, le décodage URL, l'extraction d'attributs et les vérifications d'avertissement s'exécutent entièrement dans votre navigateur. Les en-têtes de réponse sensibles ne sont jamais téléchargés sur aucun serveur.
Glossaire
- Set-Cookie
- Un en-tête de réponse HTTP par lequel le serveur indique au navigateur de stocker un cookie. Une seule réponse peut contenir plusieurs en-têtes Set-Cookie, chacun correspondant généralement à un cookie.
- SameSite
- Un attribut qui contrôle si les cookies sont envoyés dans des requêtes intersites. Les valeurs courantes sont Strict, Lax et None ; None nécessite généralement que Secure soit également défini.
- HttpOnly
- Lorsqu'il est défini, JavaScript frontend ne peut pas lire le cookie via document.cookie, principalement utilisé pour réduire le risque de vol de session via XSS.
- Secure
- Lorsqu'il est défini, les navigateurs n'envoient le cookie que sur des connexions HTTPS (ou exceptions localhost), empêchant les cookies sensibles d'être exposés en HTTP non chiffré.
- Max-Age
- La durée de vie relative d'un cookie en secondes. A généralement la priorité sur Expires ; recommandé de le définir explicitement sur le serveur.
- Expires
- Le temps d'expiration absolu d'un cookie, qui dépend de l'horloge locale du client. Lorsqu'il est utilisé seul, le débogage est généralement plus difficile qu'avec Max-Age.
- Path
- Restreint le préfixe de chemin URL où le cookie est effectif. Si Path ne correspond pas, les requêtes ultérieures n'incluront pas le cookie même s'il est stocké.
- Domain
- Restreint la portée de domaine où le cookie est effectif. Lorsqu'il n'est pas défini, il s'applique généralement uniquement à l'hôte actuel ; lorsqu'il est défini, il peut s'appliquer aux sous-domaines.
- Partitioned (CHIPS)
- Un schéma de stockage partitionné de cookies tiers, couramment utilisé comme voie alternative à mesure que les navigateurs restreignent progressivement les cookies tiers. Les implémentations actuelles nécessitent généralement l'association avec Secure.
- Préfixes __Host- / __Secure-
- Préfixes de nommage de cookies haute sécurité pris en charge par les navigateurs, comportant des règles de contrainte strictes. Lorsque les règles sont violées, les navigateurs rejettent le cookie correspondant.
Référence rapide des trois stratégies SameSite
Lors du débogage de cookies intersites, comprenez d'abord les limites de comportement de SameSite, puis vérifiez si Secure manque.
| Valeur SameSite | Navigation supérieure intersite (GET) | Sous-ressource intersite (img/iframe/script) | Formulaire POST intersite | XHR/fetch intersite | Secure requis |
|---|---|---|---|---|---|
| Strict | Non envoyé | Non envoyé | Non envoyé | Non envoyé | Non |
| Lax (par défaut) | Envoyé | Non envoyé | Non envoyé | Non envoyé | Non |
| None | Envoyé | Envoyé | Envoyé | Envoyé | Secure requis |
Référence des problèmes fréquents de débogage Set-Cookie
Lorsque les navigateurs rejettent silencieusement des cookies, vérifier dans ces directions est généralement plus rapide que de regarder fixement le corps de la réponse.
| Symptôme | Cause probable | Vérifier en premier |
|---|---|---|
| Le navigateur ne stocke pas du tout le cookie | SameSite=None sans Secure, violation de préfixe ou combinaison d'attributs invalide | Commencez par les étiquettes d'avertissement et les cartes d'attributs sur cette page |
| Ne fonctionne pas dans les scénarios intersites / iframe | SameSite trop restrictif, Secure manquant ou restrictions de politiques tierces | Concentrez-vous sur SameSite, Secure, Partitioned |
| Le cookie expire immédiatement après avoir été défini | Max-Age=0, Max-Age invalide ou problèmes de temps Expires | Vérifiez Max-Age d'abord, puis Expires |
| Cookie __Host- / __Secure- ne fonctionne pas | Les contraintes Secure, Path=/ ou Domain ne sont pas satisfaites | Vérifiez si les avertissements de préfixe sont déclenchés |
| Fonctionne en développement mais pas en production | HTTPS, Domain, Path, SameSite ou différences de réponse au niveau du proxy | Copiez les en-têtes bruts et comparez les réponses Set-Cookie entre environnements |
Privacy & Security
L'analyse des en-têtes de réponse Set-Cookie, le décodage URL, l'extraction d'attributs et les 14 vérifications d'avertissement s'exécutent entièrement dans le navigateur. Les sessions, jetons et cookies de connexion collés ne sont jamais téléchargés sur aucun serveur.
- Générateur d'en-tête Auth
- Analyseur Cache-Control
- Analyseur Content-Disposition
- Générateur d'en-têtes CORS
- Inspecteur CORS
- Générateur CSP
- Générateur de code cURL
- Vérification de la Propagation DNS Globale
- Recherche DNS
- Analyseur d'en-tête Forwarded
- Générateur de Balises Hreflang
- Analyseur HSTS
- Analyseur de cookies HTTP
- Vérificateur d'en-têtes HTTP
- Testeur de requêtes HTTP
- Recherche de codes de statut HTTP
- Recherche d'adresse IP
- Convertisseur IPv4
- Étendeur de Plage IPv4
- Boîte à outils IPv6
- Analyseur d'en-tête Link
- Recherche MX
- Vérificateur de ports
- Générateur de paramètres URL
- Analyseur d'en-têtes RateLimit
- Vérificateur de chaîne de redirections
- Générateur Robots.txt
- Inspecteur de robots.txt
- Vérificateur d'en-têtes de sécurité
- Générateur Security.txt
- Analyseur Set-Cookie
- Audit réseau de site
- Générateur de Sitemap
- Inspecteur de Sitemap
- Vérificateur de Certificats SSL
- Calculateur de Sous-réseaux
- Analyseur d'URL
- Analyseur User-Agent
- Générateur de liens UTM
- Test WebSocket
- Quelle est mon IP ?
- Recherche WHOIS