Set-Cookie-Parser

Set-Cookie Parser

Plak meerregelige Set-Cookie-antwoordheaders om attributen te inspecteren en riskante SameSite / Secure-combinaties te markeren.

Cookie-attribuutkaarten

2 Set-Cookie(s)
#1sessionabc123
path/
httponly(vlag)
secure(vlag)
samesiteLax
Geen duidelijke attribuutproblemen gevonden
#2preview1
max-age600 (10m 0s)

setCookieParser.attr.maxAgeHint

samesiteNone
secure(vlag)
setCookieParser.warn.missingHttpOnlysetCookieParser.warn.missingPath

JSON-voorbeeld

[
  {
    "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"
    ]
  }
]

Als de browser cookies niet accepteert, ligt het vaak niet aan de waarde, maar aan onjuiste Set-Cookie-attributen.

Gerelateerde aanbevelingen

Wat is de Set-Cookie-Parser?

De Set-Cookie-Parser is een debugtool speciaal voor de inhoud van Set-Cookie HTTP-antwoordheaders. Hij verdeelt de tekst niet alleen op puntkomma's, maar helpt ontwikkelaars te beoordelen: is de cookieconfiguratie van de server correct, waarom heeft de browser deze niet geaccepteerd, welke attribuutcombinaties brengen beveiligings- of compatibiliteitsrisico's met zich mee, en is de Set-Cookie geschikt voor cross-site, SSO, iframe, derde-partijcookie- of sessiescenario's.

Anders dan de Cookie-header in verzoeken is Set-Cookie een configuratie-instructie die de server naar de browser stuurt. Hij bevat niet alleen name=value, maar ook attributen zoals SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age en Partitioned. Deze velden bepalen direct of de browser de cookie opslaat, wanneer deze verloopt, op welke paden en domeinen deze geldig is en of deze in cross-site-verzoeken kan worden verzonden. Veel problemen zoals verlies van inlogsessie, ontbrekende cookies in verzoeken of storingen in cross-origin-scenario's liggen niet aan de waarde zelf, maar aan de configuratie van de Set-Cookie-attributen.

De waarde van deze pagina zit in het gestructureerd extraheren van deze attributen uit de originele antwoordheader en het uitvoeren van statische controles op basis van de werkelijke browserregels. Bijvoorbeeld: ontbreekt Secure bij SameSite=None, is Partitioned gecombineerd met Secure, heeft het __Host-voorvoegsel een onjuist Domain, is Max-Age ongeldig of gelijk aan 0, ontbreekt Max-Age bij Expires. Browsers tonen deze problemen meestal niet als syntaxisfouten, maar weigeren de cookie stilzwijgend, dus een toolgestuurde controle is essentieel.

Als je alleen wilt weten welke cookies in het huidige verzoek aanwezig zijn, gebruik dan de HTTP Cookie-Parser. Deze pagina is meer geschikt voor het debuggen van antwoordheaders: waarom heeft de browser de cookie niet opgeslagen, zijn er beveiligingsrisico's in de configuratie, is de combinatie van cross-site- en beveiligingsattributen correct.

Toepassingsgevallen

  • Snel lokaliseren van configuratieproblemen met SameSite, Secure, HttpOnly, Path of Domain wanneer de browser cookies weigert
  • Controleren of SameSite=None correct is gecombineerd met Secure in scenario's voor inloggen bij derden, SSO, iframe-inbedding of cross-site-verzoeken
  • Batchcontrole van cookie-antwoorden van API's tijdens beveiligingsaudits op ontbrekend HttpOnly/SameSite of risicovolle attribuutcombinaties
  • Controleren of cookies met __Host-/__Secure-voorvoegsel aan de browservoorwaarden voldoen om stille weigering te voorkomen
  • Controleren of Partitioned en Secure tegelijkertijd zijn gedeclareerd bij het debuggen van Partitioned Cookies/CHIPS
  • Vergelijken van Set-Cookie-antwoordheaders uit ontwikkel-, test- en productieomgevingen om inlogproblemen na omgevingswisselingen op te lossen

Hoe te gebruiken

  1. Kopieer de inhoud van de Set-Cookie-antwoordheaders (meerregelig ondersteund) uit browser-DevTools, pakketanalysetools of serverlogboeken
  2. Plak deze in het invoergebied; de tool verwijdert automatisch het voorvoegsel Set-Cookie: en analyseert elke regel
  3. Bekijk namen, waarden, URL-gedecodeerde waarden, attribuutkaarten en waarschuwingen voor elke cookie
  4. Kopieer de originele header of bekijk de JSON-voorbeeldweergave om resultaten naar backend te sturen of in issues/testscripts te plakken

Functies

  • Onafhankelijke analyse van meerdere Set-Cookie-headers: elke regel wordt weergegeven als een aparte kaart met naam, ruwe waarde, URL-gedecodeerde waarde en attributen
  • Automatische controle op 14 veelvoorkomende problemen: dekt SameSite, Secure, HttpOnly, Path, Domain, Max-Age, Expires, __Host-/__Secure-voorvoegsels en Partitioned
  • Volledige attribuutontleding: gestructureerde weergave per SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age, Partitioned en andere velden
  • Leesbare Max-Age-omrekening: seconden worden automatisch omgerekend naar minuten, uren en dagen
  • Meerregelige batchinvoer: plak volledige Set-Cookie-antwoordheaders direct uit DevTools of pakketanalysetools
  • Kopie van originele header en JSON-voorbeeldweergave: handig voor het doorsturen naar backend of het maken van documenten, issues en testgevallen
  • Lokale verwerking zonder upload: gevoelige sessies, tokens en inlogcookies worden in de browser geanalyseerd en verlaten je apparaat niet

Wanneer gebruik ik de Set-Cookie-Parser en wanneer de andere pagina's?

Inzicht in het verschil tussen "wat de server heeft ingesteld" en "wat daadwerkelijk in verzoeken wordt verzonden" is essentieel: verwar deze twee niet.

ToolGeschikte invoerMeest geschikt voorKernvoordeel
Set-Cookie-Parser (deze pagina)Set-Cookie-antwoordheaderOplossen van niet-geaccepteerde cookies, niet-werkende cross-site cookies en risico's in de beveiligingsconfiguratieVolledige attribuutontleding met automatische controle op 14 veelvoorkomende configuratiefouten
HTTP Cookie-ParserCookie-verzoekheader, document.cookieControleren welke cookies daadwerkelijk in verzoeken worden verzonden, of waarden URL-gecodeerd zijn en of er dubbele namen zijnMeer gericht op het ontleden van naam-waardeparen in verzoekheaders en gestandaardiseerde uitvoerOpen HTTP Cookie-Parser
Cookie-ParserGemengde cookiestrings en gecombineerde Set-Cookie-debugWanneer je de herkomst van de gegevens niet precies weet of snel wilt wisselen tussen Cookie- en Set-Cookie-modus op één paginaAlgemeen startpunt voor cookie-debug, ondersteunt ook export in Netscape Cookie File-formaatOpen Cookie-Parser

Best Practices

Controleer eerst of het probleem zit in het instellen of het verzenden van de cookie

Als de browser de cookie helemaal niet opslaat, begin dan met deze pagina. Als de cookie al is opgeslagen maar in volgende verzoeken ontbreekt, gebruik dan ook de HTTP Cookie-Parser. Set-Cookie en de Cookie-verzoekheader zijn twee verschillende fasen.

Controleer in cross-site-scenario's eerst de combinatie van SameSite=None en Secure

De meest voorkomende fout bij SSO, inloggen bij derden, iframe-inbeddingen en cross-origin-verzoeken is SameSite=None zonder Secure. Los dit probleem eerst op voordat je de serverlogica of browserinstellingen controleert.

Controleer bij __Host-/__Secure-voorvoegsels niet alleen de naam, maar alle voorwaarden

Veel teams denken dat het toevoegen van een __Host- of __Secure-voorvoegsel aan de cookienaam al voldoende is voor beveiliging, maar als Secure, Path=/ of Domain niet correct zijn geconfigureerd, weigert de browser de cookie alsnog.

Bewaar bij het documenteren en reproduceren van issues zowel de originele header als de JSON-versie

De originele header is handig voor afstemming met backend- en operationele teams; de JSON-versie kan in issues, testgevallen en scripts worden geplakt. Beide bewaren is beter dan alleen een screenshot uit DevTools.

Veelgestelde vragen

Wat is het verschil tussen de Set-Cookie-Parser en de Cookie-verzoekheaderparser?

De Set-Cookie-Parser is bedoeld voor antwoordheaders van de server en controleert of de browser de cookie accepteert en of de attributen correct zijn. De Cookie-verzoekheaderparser analyseert verzoeken die door de browser worden verzonden en laat zien welke cookies daadwerkelijk worden meegestuurd. Als je problemen met SameSite, HttpOnly, Secure, Path, Domain, Expires of Max-Age oplost, gebruik dan deze pagina.

HTTP Cookie-Parser

Waarom slaat de browser de cookie niet op, ook al heeft hij het antwoord ontvangen?

Dat is precies het probleem dat deze tool het beste oplost. Veelvoorkomende oorzaken zijn SameSite=None zonder Secure, Secure-cookies die op HTTP-pagina's worden ingesteld, schendingen van het __Host-voorvoegsel, Partitioned zonder Secure, onjuiste Path-/Domain-configuratie, ongeldige Max-Age of Max-Age=0 en beperkingen voor derde-partijcookies van de browser.

Welke veelvoorkomende Set-Cookie-risico's controleert de tool?

Deze pagina detecteert automatisch 14 veelvoorkomende problemen: SameSite=None zonder Secure, ongeldige SameSite-waarde, Partitioned zonder Secure, ontbrekend HttpOnly/Path/SameSite, __Host-voorvoegsel zonder Secure/Path=/ of met onjuist Domain, __Secure-voorvoegsel zonder Secure, ongeldige Max-Age, Max-Age=0, Domain met punt aan het begin en Expires zonder Max-Age.

Waarom moet SameSite=None altijd worden gecombineerd met Secure?

Moderne browsers vereisen dat cross-site cookies met SameSite=None ook het Secure-attribuut hebben, anders worden ze geweigerd. Dit probleem komt veel voor bij inloggen bij derden, SSO, iframe-inbeddingen en cross-origin-verzoeken.

Waarom worden cookies met het __Host- of __Secure-voorvoegsel door de browser geweigerd?

__Host- en __Secure- zijn beveiligingsvoorvoegsels met strikte regels. __Host- vereist Secure, Path=/ en geen Domain-instelling; __Secure- vereist ten minste Secure. Als deze regels worden geschonden, negeert de browser de cookie.

Hoe moeten Max-Age en Expires worden geïnterpreteerd?

Max-Age geeft de relatieve geldigheidsduur in seconden aan en heeft meestal voorrang op Expires. Expires is een absoluut tijdstip dat afhankelijk is van de klok van de client. Veel servers stellen alleen Expires in zonder Max-Age, wat kan leiden tot verkeerde interpretaties door tijdzoneverschillen of onjuiste systeemtijd.

Is de tool geschikt voor het oplossen van problemen met cross-site en derde-partijcookies?

Ja. Of het nu gaat om inloggen bij derden, SSO, iframe-inbedding, cross-origin API's of CHIPS (Partitioned Cookie)-scenario's, deze tool helpt je snel te controleren of de combinatie van SameSite, Secure en Partitioned correct is.

Kunnen analyseresultaten worden gekopieerd of geëxporteerd?

Ja. Je kunt de originele Set-Cookie-header met één klik kopiëren of de gestructureerde JSON-voorbeeldweergave bekijken om namen, waarden, attributen en waarschuwingen in issues, documenten, testscripts of debugnotities te plakken.

Worden de sessie- of tokengegevens die ik plak naar een server geüpload?

Nee. De analyse van de Set-Cookie-inhoud, URL-decodering, attribuutontleding en waarschuwingscontrole vinden volledig lokaal in de browser plaats; gevoelige antwoordheaders worden naar geen enkele server verzonden.

Woordenlijst

Set-Cookie
HTTP-antwoordheader waarmee de server de browser opdraagt een cookie op te slaan. Een antwoord kan meerdere Set-Cookie-headers bevatten, meestal één per cookie.
SameSite
Attribuut dat bepaalt of cookies in cross-site-verzoeken worden verzonden. Veelvoorkomende waarden: Strict, Lax, None; bij None is meestal Secure vereist.
HttpOnly
Indien ingesteld, kan JavaScript de cookie niet lezen via document.cookie, wat het risico op sessiediefstal via XSS vermindert.
Secure
Indien ingesteld, stuurt de browser de cookie alleen over HTTPS-verbindingen (met uitzondering van localhost), om gevoelige cookies te beschermen tegen blootstelling op niet-versleuteld HTTP.
Max-Age
Relatieve geldigheidsduur van de cookie in seconden. Heeft meestal voorrang op Expires en moet expliciet door de server worden ingesteld.
Expires
Absoluut verlooptijdstip van de cookie, afhankelijk van de lokale tijd van de client. Bij alleen gebruik is debuggen complexer dan met Max-Age.
Path
Beperkt de cookie tot URL-paden met dit voorvoegsel. Als het Path niet overeenkomt, wordt de cookie in volgende verzoeken niet verzonden, ook niet als deze is opgeslagen.
Domain
Beperkt de cookie tot een domeinbereik. Indien niet opgegeven, geldt deze alleen voor de huidige host; indien opgegeven, kan deze ook voor subdomeinen gelden.
Partitioned (CHIPS)
Gepartitioneerde opslagoplossing voor derde-partijcookies, als alternatief nadat browsers derde-partijcookies steeds meer beperken. Huidige implementaties vereisen meestal Secure.
__Host- / __Secure-voorvoegsels
Door browsers ondersteunde beveiligingsvoorvoegsels voor cookienamen met strikte regels. Bij schending weigert de browser de cookie.

Vergelijkingstabel van de drie SameSite-strategieën

Bij het debuggen van cross-site cookies controleer je eerst het gedrag van SameSite en daarna of Secure ontbreekt.

SameSite-waardeCross-site top-level navigatie (GET)Cross-site subbronnen (img/iframe/script)Cross-site POST-formulierenCross-site XHR/fetchSecure vereist?
StrictNiet verzendenNiet verzendenNiet verzendenNiet verzendenNee
Lax (standaard)VerzendenNiet verzendenNiet verzendenNiet verzendenNee
NoneVerzendenVerzendenVerzendenVerzendenSecure moet zijn ingesteld

Tabel met veelvoorkomende Set-Cookie-debugproblemen

Wanneer de browser cookies stilzwijgend weigert, controleer dan eerst deze punten: dat is vaak sneller dan de antwoordtekst doorzoeken.

SymptoomWaarschijnlijke oorzaakControleer eerst
Browser slaat cookie helemaal niet opSameSite=None zonder Secure, schendingen van voorvoegsels of ongeldige attribuutcombinatieControleer de waarschuwingen en attribuutkaarten op deze pagina
Werkt niet in cross-site/iframe-scenario'sTe strenge SameSite, ontbrekend Secure of beperkingen voor derdenFocus op SameSite, Secure, Partitioned
Cookie verloopt onmiddellijk na instellenMax-Age=0, ongeldige Max-Age, onjuiste Expires-datumEerst Max-Age, daarna Expires
__Host-/__Secure-cookie werkt nietVoorwaarden Secure, Path=/ of Domain niet voldaanControleer of voorvoegselwaarschuwingen worden weergegeven
Werkt in ontwikkeling maar niet in productieVerschillen in HTTPS, Domain, Path, SameSite of antwoordheaders van proxyKopieer de originele header en vergelijk de Set-Cookie-antwoorden van verschillende omgevingen

Privacy & Security

De analyse van de Set-Cookie-antwoordheader, URL-decodering, attribuutontleding en controle op 14 waarschuwingscategorieën vinden volledig lokaal in de browser plaats. Geplakte sessies, tokens en inlogcookies worden naar geen enkele server verzonden.