Parser Set-Cookie

Set-Cookie Parser

Incolla intestazioni di risposta Set-Cookie su più righe per ispezionare gli attributi e segnalare combinazioni rischiose di SameSite / Secure.

Schede Attributi Cookie

2 Set-Cookie
#1sessionabc123
path/
httponly(flag)
secure(flag)
samesiteLax
Nessun problema evidente negli attributi riscontrato
#2preview1
max-age600 (10m 0s)

setCookieParser.attr.maxAgeHint

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

Anteprima 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"
    ]
  }
]

Se il browser non accetta i cookie, spesso non è colpa del valore, ma di attributi Set-Cookie errati.

Raccomandazioni correlate

Cos'è il Parser Set-Cookie?

Il Parser Set-Cookie è uno strumento di debug specifico per il contenuto delle intestazioni di risposta HTTP Set-Cookie. Non si limita a dividere il testo in base ai punti e virgola, ma aiuta gli sviluppatori a valutare: la configurazione del cookie del server è corretta, perché il browser non l'ha accettata, quali combinazioni di attributi presentano rischi per la sicurezza o la compatibilità, e se il Set-Cookie è adatto a scenari cross-site, SSO, iframe, cookie di terze parti o di sessione.

A differenza dell'intestazione Cookie nelle richieste, Set-Cookie è un'istruzione di configurazione inviata dal server al browser. Non contiene solo name=value, ma anche attributi come SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age e Partitioned. Questi campi determinano direttamente se il browser salva il cookie, quando scade, su quali percorsi e domini è valido e se può essere inviato in richieste cross-site. Molti problemi come la perdita dello stato di accesso, cookie mancanti nelle richieste o malfunzionamenti in scenari cross-origin non dipendono dal valore stesso, ma dalla configurazione degli attributi Set-Cookie.

Il valore di questa pagina sta nell'estrarre questi attributi in modo strutturato dall'intestazione di risposta originale ed eseguire controlli statici basati sulle regole reali dei browser. Ad esempio: se SameSite=None manca di Secure, se Partitioned è abbinato a Secure, se il prefisso __Host- ha un Domain errato, se Max-Age è non valido o uguale a 0, se Expires manca di Max-Age. I browser spesso non mostrano questi problemi come errori di sintassi, ma rifiutano silenziosamente il cookie, quindi un controllo tramite strumento è fondamentale.

Se vuoi solo sapere quali cookie sono presenti nella richiesta corrente, usa invece il Parser HTTP Cookie. Questa pagina è più adatta per scenari di debug di intestazioni di risposta: perché il browser non ha salvato il cookie, ci sono rischi per la sicurezza nella configurazione, la combinazione di attributi cross-site e di sicurezza è corretta.

Casi d'uso

  • Localizzare rapidamente problemi di configurazione con SameSite, Secure, HttpOnly, Path o Domain quando il browser rifiuta i cookie
  • Verificare se SameSite=None è correttamente combinato con Secure in scenari di accesso di terze parti, SSO, incorporamento iframe o richieste cross-site
  • Controllo in batch delle risposte cookie delle API durante audit di sicurezza per HttpOnly/SameSite mancanti o combinazioni di attributi ad alto rischio
  • Verificare che i cookie con prefisso __Host-/__Secure- soddisfino le condizioni del browser per evitare rifiuti silenziosi
  • Controllare se Partitioned e Secure sono dichiarati contemporaneamente durante il debug di cookie partizionati/CHIPS
  • Confrontare le intestazioni di risposta Set-Cookie da ambienti di sviluppo, test e produzione per risolvere problemi di accesso dopo cambi di ambiente

Come utilizzare

  1. Copia il contenuto delle intestazioni di risposta Set-Cookie (supporto multilinea) da DevTools del browser, strumenti di cattura pacchetti o log del server
  2. Incollalo nell'area di input; lo strumento rimuove automaticamente il prefisso Set-Cookie: e analizza ogni riga
  3. Visualizza nomi, valori, valori decodificati URL, schede degli attributi e avvisi per ogni cookie
  4. Copia l'intestazione originale o visualizza l'anteprima JSON per inviare i risultati al backend o inserirli in issue/script di test

Funzionalità

  • Analisi indipendente di più intestazioni Set-Cookie: ogni riga viene mostrata come scheda separata con nome, valore grezzo, valore decodificato URL e attributi
  • Controllo automatico di 14 problemi comuni: copre SameSite, Secure, HttpOnly, Path, Domain, Max-Age, Expires, prefissi __Host-/__Secure- e Partitioned
  • Scomposizione completa degli attributi: visualizzazione strutturata per SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age, Partitioned e altri campi
  • Conversione Max-Age leggibile: i secondi vengono automaticamente convertiti in minuti, ore e giorni
  • Input multilinea in batch: incolla direttamente intere intestazioni di risposta Set-Cookie da DevTools o strumenti di cattura pacchetti
  • Copia intestazione originale e anteprima JSON: utili per inoltrare al backend o creare documenti, issue e casi di test
  • Nessun upload locale: sessioni sensibili, token e cookie di accesso vengono analizzati nel browser e non lasciano il tuo dispositivo

Quando usare il Parser Set-Cookie e quando le altre pagine?

Capire la differenza tra "cosa ha impostato il server" e "cosa viene effettivamente inviato nelle richieste" è fondamentale: non confondere le due cose.

StrumentoInput adattoIdeale perPunto di forza
Parser Set-Cookie (questa pagina)Intestazione di risposta Set-CookieDebug di cookie non accettati, cookie cross-site non funzionanti e rischi nella configurazione di sicurezzaScomposizione completa degli attributi con controllo automatico di 14 errori di configurazione comuni
Parser HTTP CookieIntestazione di richiesta Cookie, document.cookieVerificare quali cookie vengono effettivamente inviati nelle richieste, se i valori sono codificati URL e se ci sono nomi duplicatiPiù focalizzato sulla scomposizione delle coppie nome-valore nelle intestazioni di richiesta e sull'output standardizzatoApri Parser HTTP Cookie
Parser CookieStringhe cookie miste e debug combinato Set-CookieQuando non conosci l'origine dei dati o vuoi passare rapidamente dalla modalità Cookie a Set-Cookie in un'unica paginaPunto di accesso generale per il debug dei cookie, supporta anche l'esportazione in formato file Netscape CookieApri Parser Cookie

Best Practices

Prima verifica se il problema è nell'impostazione o nell'invio del cookie

Se il browser non salva affatto il cookie, inizia da questa pagina. Se il cookie è già stato salvato ma manca nelle richieste successive, usa anche il Parser HTTP Cookie. Set-Cookie e l'intestazione Cookie delle richieste sono due fasi diverse.

Negli scenari cross-site verifica prima la combinazione di SameSite=None e Secure

L'errore più comune in SSO, accessi di terze parti, incorporamenti iframe e richieste cross-origin è SameSite=None senza Secure. Risolvi prima questo problema, poi controlla la logica del server e le impostazioni del browser.

Per i prefissi __Host-/__Secure- non controllare solo il nome, ma tutte le condizioni

Molti team pensano che aggiungere un prefisso __Host- o __Secure- al nome del cookie basti per renderlo sicuro, ma se Secure, Path=/ o Domain non sono configurati correttamente, il browser rifiuterà comunque il cookie.

Per documentare e riprodurre issue conserva sia l'intestazione originale che la versione JSON

L'intestazione originale è utile per il confronto con backend e sistemisti; la versione JSON può essere inserita in issue, casi di test e script. Conservare entrambe è meglio di un semplice screenshot da DevTools.

Domande frequenti

Qual è la differenza tra il parser Set-Cookie e il parser dell'intestazione Cookie delle richieste?

Il parser Set-Cookie si rivolge alle intestazioni di risposta del server e verifica se il browser accetterà il cookie e se gli attributi sono corretti. Il parser dell'intestazione Cookie delle richieste analizza le richieste inviate dal browser e mostra quali cookie vengono effettivamente inviati. Se stai risolvendo problemi con SameSite, HttpOnly, Secure, Path, Domain, Expires o Max-Age, usa questa pagina.

Parser HTTP Cookie

Perché il browser non salva il cookie anche se ha ricevuto la risposta?

Questo è esattamente il problema che questo strumento risolve al meglio. Le cause comuni includono SameSite=None senza Secure, cookie Secure impostati su pagine HTTP, violazioni del prefisso __Host-, Partitioned senza Secure, configurazione errata di Path o Domain, Max-Age non valido o uguale a 0 e limitazioni dei cookie di terze parti del browser.

Quali rischi comuni di Set-Cookie controlla lo strumento?

Questa pagina rileva automaticamente 14 problemi frequenti: SameSite=None senza Secure, valore SameSite non valido, Partitioned senza Secure, HttpOnly/Path/SameSite mancanti, prefisso __Host- senza Secure/Path=/ o con Domain errato, prefisso __Secure- senza Secure, Max-Age non valido, Max-Age=0, Domain con punto iniziale ed Expires senza Max-Age.

Perché SameSite=None deve essere sempre combinato con Secure?

I browser moderni richiedono che i cookie cross-site con SameSite=None abbiano anche l'attributo Secure, altrimenti vengono rifiutati. Questo problema è molto comune in accessi di terze parti, SSO, incorporamenti iframe e richieste cross-origin.

Perché i cookie con prefisso __Host- o __Secure- vengono rifiutati dal browser?

__Host- e __Secure- sono prefissi di sicurezza con regole severe. __Host- richiede Secure, Path=/ e nessuna impostazione Domain; __Secure- richiede almeno Secure. Se queste regole vengono violate, il browser ignora il cookie.

Come si interpretano Max-Age ed Expires?

Max-Age indica la durata relativa in secondi e di solito ha priorità su Expires. Expires è un punto temporale assoluto che dipende dall'orologio del client. Molti server impostano solo Expires senza Max-Age, il che può causare interpretazioni errate a causa di differenze di fuso orario o orario di sistema.

Lo strumento è adatto per risolvere problemi con cookie cross-site e di terze parti?

Sì. Che si tratti di accesso di terze parti, SSO, incorporamento iframe, API cross-origin o scenari CHIPS (cookie partizionati), questo strumento ti aiuta a verificare rapidamente se la combinazione di SameSite, Secure e Partitioned è corretta.

I risultati dell'analisi possono essere copiati o esportati?

Sì. Puoi copiare l'intestazione Set-Cookie originale con un clic o visualizzare l'anteprima JSON strutturata per inserire nomi, valori, attributi e avvisi in issue, documenti, script di test o note di debug.

I dati di sessione o token che copio vengono caricati su un server?

No. L'analisi del contenuto Set-Cookie, la decodifica URL, la scomposizione degli attributi e il controllo degli avvisi avvengono completamente localmente nel browser; le intestazioni di risposta sensibili non vengono inviate a nessun server.

Glossario

Set-Cookie
Intestazione di risposta HTTP con cui il server indica al browser di salvare un cookie. Una risposta può contenere più intestazioni Set-Cookie, ognuna corrispondente di solito a un cookie.
SameSite
Attributo che controlla se i cookie vengono inviati in richieste cross-site. Valori comuni: Strict, Lax, None; None di solito richiede Secure.
HttpOnly
Se impostato, JavaScript non può leggere il cookie tramite document.cookie, riducendo il rischio di furto di sessione tramite XSS.
Secure
Se impostato, il browser invia il cookie solo su connessioni HTTPS (tranne localhost), proteggendo i cookie sensibili dall'esposizione su HTTP non crittografato.
Max-Age
Durata relativa del cookie in secondi. Di solito ha priorità su Expires e dovrebbe essere impostato esplicitamente dal server.
Expires
Punto di scadenza assoluto del cookie, dipende dall'orario locale del client. Se usato da solo, il debug è più complesso rispetto a Max-Age.
Path
Limita il cookie ai percorsi URL con questo prefisso. Se il Path non corrisponde, il cookie non viene inviato nelle richieste successive anche se è stato salvato.
Domain
Limita il cookie a un ambito di dominio. Se non specificato, vale solo per l'host corrente; se specificato, può valere anche per i sottodomini.
Partitioned (CHIPS)
Soluzione di archiviazione partizionata per cookie di terze parti, come alternativa dopo che i browser hanno iniziato a limitare i cookie di terze parti. Le implementazioni attuali di solito richiedono Secure.
Prefissi __Host- / __Secure-
Prefissi di denominazione per cookie sicuri supportati dai browser con regole severe. In caso di violazione, il browser rifiuta il cookie.

Tabella di confronto delle tre strategie SameSite

Nel debug dei cookie cross-site, verifica prima il comportamento di SameSite e poi se manca Secure.

Valore SameSiteNavigazione top-level cross-site (GET)Sottorisorse cross-site (img/iframe/script)Form POST cross-siteXHR/fetch cross-siteSecure obbligatorio?
StrictNon inviareNon inviareNon inviareNon inviareNo
Lax (predefinito)InviareNon inviareNon inviareNon inviareNo
NoneInviareInviareInviareInviareSecure deve essere impostato

Tabella dei problemi comuni di debug Set-Cookie

Quando il browser rifiuta silenziosamente i cookie, controlla prima questi punti: è spesso più veloce che esaminare il corpo della risposta.

SintomoCausa probabileControlla prima
Il browser non salva affatto il cookieSameSite=None senza Secure, violazioni di prefisso o combinazione di attributi non validaControlla gli avvisi e le schede degli attributi in questa pagina
Non funziona in scenari cross-site/iframeSameSite troppo restrittivo, Secure mancante o limitazioni di terze partiConcentrati su SameSite, Secure, Partitioned
Il cookie scade immediatamente dopo essere stato impostatoMax-Age=0, Max-Age non valido, data Expires errataPrima Max-Age, poi Expires
Il cookie __Host-/__Secure- non funzionaCondizioni Secure, Path=/ o Domain non soddisfatteVerifica se vengono visualizzati avvisi sui prefissi
Funziona in sviluppo ma non in produzioneDifferenze in HTTPS, Domain, Path, SameSite o intestazioni di risposta del proxyCopia l'intestazione originale e confronta le risposte Set-Cookie dei diversi ambienti

Privacy & Security

L'analisi dell'intestazione di risposta Set-Cookie, la decodifica URL, la scomposizione degli attributi e il controllo delle 14 categorie di avvisi avvengono completamente localmente nel browser. Le sessioni, i token e i cookie di accesso incollati non vengono caricati su nessun server.