Parser Set-Cookie
Set-Cookie Parser
Wklej wieloliniowe nagłówki odpowiedzi Set-Cookie, aby sprawdzić atrybuty i oznaczyć ryzykowne kombinacje SameSite / Secure.
Karty atrybutów plików Cookie
setCookieParser.attr.maxAgeHint
Podgląd 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"
]
}
]Kiedy przeglądarka nie przyjmuje plików Cookie, często problem nie leży w wartości, ale w nieprawidłowych atrybutach Set-Cookie.
Powiązane Rekomendacje
Czym jest parser Set-Cookie?
Parser Set-Cookie to narzędzie debugujące specjalnie przeznaczone do analizy treści `Set-Cookie` w nagłówkach odpowiedzi HTTP. Jego celem nie jest proste podzielenie ciągu po średnikach, ale pomoc programistom w określeniu: czy konfiguracja tego pliku Cookie na serwerze jest poprawna, dlaczego przeglądarka go nie przyjęła, jakie kombinacje atrybutów stwarzają ryzyko bezpieczeństwa lub zgodności oraz czy bieżący Set-Cookie nadaje się do scenariuszy międzywitrynowych, SSO, iframe, plików Cookie stron trzecich lub sesji.
W przeciwieństwie do pliku Cookie w nagłówku żądania, Set-Cookie to „polecenie konfiguracji”, które serwer wysyła przeglądarce. Zawiera nie tylko `name=value`, ale również atrybuty SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age, Partitioned — te pola bezpośrednio określają, czy przeglądarka zapisze plik Cookie, kiedy wygaśnie, dla jakich ścieżek i domen działa oraz czy można go wysyłać w żądaniach międzywitrynowych. Dlatego główne przyczyny wielu problemów „utrata sesji”, „przeglądarka nie wysyła pliku Cookie”, „nie działa w scenariuszu międzydomenowym” leżą nie w samej wartości, ale w konfiguracji atrybutów Set-Cookie.
Wartość bieżącej strony polega na strukturalnym wyodrębnieniu tych atrybutów z oryginalnego nagłówka odpowiedzi, a następnie wykonaniu statycznego sprawdzania zgodności z rzeczywistymi regułami przeglądarki. Na przykład, czy przy SameSite=None nie brakuje Secure, czy Partitioned łączy się z Secure, czy przy prefiksie __Host- nie błędnie ustawiono Domain, czy Max-Age jest nieprawidłowy lub równy 0, czy przy Expires nie brakuje Max-Age. Przeglądarka zazwyczaj nie pokazuje tych problemów jako błędów składniowych, ale po prostu cicho odrzuca plik Cookie lub demonstruje „nie działa”, dlatego sprawdzanie narzędziowe jest bardzo ważne.
Jeśli po prostu chcesz wiedzieć, jakie pliki Cookie są obecnie wysyłane w żądaniu, nie pozostań na tej stronie — przejdź do „Parsera HTTP Cookie”, który lepiej nadaje się do analizy nagłówków żądania. Bieżąca strona bardziej nadaje się do scenariuszy diagnozowania nagłówków odpowiedzi: „dlaczego przeglądarka nie zapisała pliku Cookie”, „czy istnieją ukryte problemy w konfiguracji tego pliku Cookie na serwerze”, „czy kombinacja atrybutów międzywitrynowych i atrybutów bezpieczeństwa jest poprawna”.
Przypadki użycia
- Szybka lokalizacja problemów z konfiguracją SameSite, Secure, HttpOnly, Path/Domain, gdy przeglądarka odrzuca zapis pliku Cookie
- Sprawdzanie poprawności połączenia SameSite=None z Secure w scenariuszach autoryzacji stron trzecich, SSO, osadzania w iframe lub żądań międzywitrynowych
- Masowe sprawdzanie plików Cookie zwracanych przez interfejsy pod kątem braku HttpOnly, SameSite lub obecności wysokoryzykowych kombinacji atrybutów podczas audytu bezpieczeństwa
- Sprawdzanie spełnienia ścisłych ograniczeń przeglądarki dla plików Cookie z prefiksami __Host-/__Secure-, aby uniknąć cichego odrzucania
- Potwierdzanie jednoczesnego zadeklarowania Partitioned i Secure podczas debugowania mechanizmu partycjonowanych plików Cookie stron trzecich Partitioned Cookie / CHIPS
- Porównywanie różnic nagłówków Set-Cookie między środowiskami deweloperskimi, testowymi i produkcyjnymi w celu diagnozowania anomalii sesji po przełączeniu środowiska
Jak Używać
- Skopiuj zawartość nagłówków odpowiedzi Set-Cookie (obsługiwane wieloliniowe wprowadzanie) z przeglądarkowych DevTools, sniffera lub logów serwera
- Wklej w obszar wprowadzania, narzędzie automatycznie usunie prefiks `Set-Cookie:` i wykona analizę wiersz po wierszu
- Przeglądaj nazwę, wartość, zdekodowaną wartość URL, karty atrybutów i etykiety ostrzegawcze każdego pliku Cookie
- Skopiuj oryginalne nagłówki lub wyświetl podgląd JSON, wyślij wyniki do backendu, wklej do Issue lub do skryptów testowych
Funkcje
- Niezależna analiza wielu Set-Cookie: każdy wiersz w osobnej karcie, podgląd nazwy, oryginalnej wartości, zdekodowanej wartości URL oraz atrybutów
- Automatyczne sprawdzanie 14 typowych problemów: obejmuje SameSite, Secure, HttpOnly, Path, Domain, Max-Age, Expires, prefiksy __Host-/__Secure- oraz Partitioned
- Pełny rozkład atrybutów: strukturalne wyświetlanie pól SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age, Partitioned
- Czytelne dla człowieka przeliczanie Max-Age: sekundy automatycznie konwertowane na minuty, godziny i dni
- Wieloliniowe wprowadzanie wsadowe: można wkleić cały blok nagłówków Set-Cookie z DevTools lub sniffera
- Kopiowanie oryginalnych nagłówków i podgląd JSON: wygodne do wysyłania do backendu, używania w dokumentacji, Issue, skryptach i testach
- Lokalne przetwarzanie bez wysyłania: poufne Session, Token i pliki Cookie sesji są analizowane w przeglądarce, nie opuszczają urządzenia
Kiedy używać parsera Set-Cookie, a kiedy dwóch innych stron?
Zrozumienie, „co skonfigurował serwer” i „co faktycznie jest wysyłane w żądaniu” — to dwie różne rzeczy, nie mieszaj ich podczas diagnozowania.
| Narzędzie | Odpowiednie wprowadzanie | Najlepiej nadaje się do | Kluczowa zaleta |
|---|---|---|---|
| Parser Set-Cookie (bieżąca strona) | Nagłówki odpowiedzi Set-Cookie | Diagnozowanie przyczyn, dla których przeglądarka nie przyjmuje pliku Cookie, dlaczego wysyłanie międzywitrynowe nie działa, dlaczego istnieją ryzyka w konfiguracji atrybutów bezpieczeństwa | Pełny rozkład atrybutów i automatyczne sprawdzanie 14 powszechnych problemów konfiguracji |
| Parser HTTP Cookie | Nagłówek żądania Cookie, document.cookie | Potwierdzanie, jakie pliki Cookie faktycznie są wysyłane w żądaniu, czy wartości są zakodowane sposobem URL, czy istnieją powtarzające się nazwy | Bardziej skupiony na rozkładzie par nazwa-wartość w nagłówku żądania i ustandaryzowanym wyjściuOtwórz parser HTTP Cookie |
| Parser Cookie | Mieszane scenariusze z ciągami Cookie i Set-Cookie | Gdy źródło danych jest jeszcze niejasne lub trzeba szybko przełączać się między trybami Cookie / Set-Cookie na jednej stronie | Wygląda jak główne wejście do debugowania plików Cookie, obsługuje eksport Netscape Cookie FileOtwórz parser Cookie |
Best Practices
Najpierw określ, czy problem leży w „nieudanej instalacji” czy „nie wysłaniu w żądaniu”
Jeśli przeglądarka w ogóle nie zapisała pliku Cookie, zacznij od bieżącej strony; jeśli plik Cookie został już zapisany, ale nie jest wysyłany w kolejnych żądaniach, użyj parsera HTTP Cookie wspólnie. Set-Cookie i plik Cookie w nagłówku żądania to dwa różne etapy.
W scenariuszach międzywitrynowych najpierw sprawdzaj kombinację SameSite=None i Secure
Najczęstszy problem w SSO, autoryzacji stron trzecich, osadzaniu w iframe oraz żądaniach międzydomenowych — to SameSite=None bez Secure. Najpierw wyeliminuj ten problem, następnie sprawdzaj logikę serwerową i polityki przeglądarki.
Nie patrz tylko na nazwę z prefiksami __Host- / __Secure-, sprawdzaj kompletność ograniczeń
Wiele zespołów myśli, że dodanie prefiksu `__Host-` lub `__Secure-` do nazwy pliku Cookie już czyni go bezpieczniejszym, ale jeśli towarzyszące warunki Secure, Path=/, Domain nie zostaną spełnione, przeglądarka i tak odrzuci zapis.
Podczas pisania dokumentacji i odtwarzania Issue zachowuj zarówno oryginalne nagłówki, jak i JSON
Oryginalne nagłówki nadają się do sprawdzania rzeczywistych wartości zwracanych przez backend i DevOps; JSON nadaje się do wklejania do Issue, przypadków testowych i skryptów do dalszego przetwarzania. Zachowanie obu materiałów jest lepsze niż tylko zrzut ekranu z DevTools do odtwarzania i współpracy.
Często Zadawane Pytania
Jaka jest różnica między parserem Set-Cookie a parserem nagłówka żądania Cookie?
Parser Set-Cookie pracuje z nagłówkami odpowiedzi serwera i skupia się na tym, „czy przeglądarka przyjmie ten Cookie i czy nie ma problemów z atrybutami”; parser Cookie pracuje z wychodzącymi żądaniami przeglądarki i pokazuje, „jakie dokładnie pliki Cookie są wysyłane w tym żądaniu”. Jeśli diagnozujesz problemy z konfiguracją SameSite, HttpOnly, Secure, Path, Domain, Expires, Max-Age, użyj bieżącej strony.
Parser HTTP CookieDlaczego przeglądarka otrzymała odpowiedź, ale nie zapisała Cookie?
To jest dokładnie ten problem, do którego rozwiązania ten narzędzie nadaje się najlepiej. Częste przyczyny: SameSite=None bez Secure, próba ustawienia Secure Cookie na stronie HTTP, naruszenia prefiksu __Host-, Partitioned bez Secure, nieprawidłowa konfiguracja Path lub Domain, nieprawidłowy Max-Age lub równy 0 oraz ograniczenia przeglądarki dotyczące plików Cookie stron trzecich.
Jakie typowe ryzyka Set-Cookie sprawdza narzędzie?
Strona automatycznie wykrywa 14 powszechnych problemów: SameSite=None bez Secure, nieprawidłowa wartość SameSite, Partitioned bez Secure, brak HttpOnly, brak Path, brak SameSite, prefiks __Host- bez Secure / Path nie równa się / / nieprawidłowo ustawiony Domain, prefiks __Secure- bez Secure, nieprawidłowy Max-Age, Max-Age=0, Domain rozpoczynający się od kropki oraz Expires bez Max-Age.
Dlaczego SameSite=None koniecznie wymaga Secure?
Nowoczesne przeglądarki wymagają, aby pliki Cookie wysyłane w żądaniach międzywitrynowych z atrybutem `SameSite=None` miały również atrybut `Secure`; w przeciwnym razie przeglądarka zazwyczaj po prostu odrzuca zapis. Ten problem bardzo często występuje podczas debugowania autoryzacji stron trzecich, SSO, osadzania w iframe oraz żądań międzydomenowych.
Dlaczego przeglądarka odrzuca pliki Cookie z prefiksami __Host- i __Secure-?
`__Host-` oraz `__Secure-` to prefiksy bezpieczeństwa ze ścisłymi ograniczeniami. `__Host-` wymaga obowiązkowego Secure, Path=/ oraz zakazu ustawiania Domain; `__Secure-` co najmniej wymaga Secure. W przypadku naruszenia tych reguł przeglądarka po prostu ignoruje odpowiedni plik Cookie.
Jak interpretować Max-Age i Expires?
Max-Age to względny czas w sekundach, zazwyczaj ma priorytet nad Expires; Expires to bezwzględny punkt czasu zależny od zegara klienta. Wiele serwerów określa tylko Expires bez Max-Age — działa to, ale podczas debugowania łatwo o pomyłkę z powodu przesunięcia strefy czasowej lub czasu systemowego.
Czy narzędzie nadaje się do diagnozowania plików Cookie międzywitrynowych i stron trzecich?
Nadaje się. Niezależnie od tego, czy jest to autoryzacja stron trzecich, SSO, osadzanie w iframe, interfejsy międzydomenowe czy scenariusze CHIPS (Partitioned Cookie), to narzędzie pomoże szybko ocenić poprawność kombinacji SameSite, Secure oraz Partitioned.
Czy obsługiwane jest kopiowanie lub eksport wyników analizy?
Obsługiwane. Możesz jednym kliknięciem skopiować oryginalne nagłówki Set-Cookie, a także wyświetlić strukturalny podgląd JSON, aby przenieść nazwę, wartość, atrybuty i ostrzeżenia każdego pliku Cookie do Issue, dokumentacji, skryptów testowych lub zapisów wspólnego debugowania.
Czy moje skopiowane Session i Token są wysyłane na serwer?
Nie. Analiza treści Set-Cookie, dekodowanie URL, rozkład atrybutów oraz sprawdzanie ostrzeżeń są w całości wykonywane lokalnie w przeglądarce, poufne nagłówki odpowiedzi nie są wysyłane na serwer.
Słownik
- Set-Cookie
- Nagłówek odpowiedzi HTTP, przez który serwer informuje przeglądarkę o zapisaniu pliku Cookie. W jednej odpowiedzi może być kilka nagłówków Set-Cookie, każdy zazwyczaj odpowiada jednemu plikowi Cookie.
- SameSite
- Atrybut kontrolujący wysyłanie plików Cookie w żądaniach międzywitrynowych. Częste wartości: Strict, Lax, None; wartość None zazwyczaj wymaga jednoczesnego ustawienia Secure.
- HttpOnly
- Przy ustawionym atrybucie frontend JavaScript nie może odczytać tego pliku Cookie przez document.cookie, głównie używany do zmniejszenia ryzyka kradzieży sesji przez XSS.
- Secure
- Przy ustawionym atrybucie przeglądarka wysyła plik Cookie tylko przez połączenia HTTPS (lub w wyjątku localhost), unikając wycieku poufnych plików Cookie przez otwarty HTTP.
- Max-Age
- Względny czas życia pliku Cookie w sekundach. Zazwyczaj ma priorytet nad Expires, zaleca się jawne określanie na serwerze.
- Expires
- Bezwzględny czas wygaśnięcia pliku Cookie, zależny od lokalnego czasu klienta. Przy oddzielnym użyciu koszt debugowania jest zazwyczaj wyższy niż w przypadku Max-Age.
- Path
- Ogranicza prefiks ścieżki URL, dla której działa plik Cookie. W przypadku niezgodności Path, nawet jeśli plik Cookie został zapisany, nie zostanie wysłany w kolejnych żądaniach.
- Domain
- Ogranicza domenę, dla której działa plik Cookie. Jeśli nie zostanie określony, zazwyczaj działa tylko dla bieżącego hosta; po określeniu może rozprzestrzeniać się na poddomeny.
- Partitioned (CHIPS)
- Mechanizm partycjonowanego przechowywania plików Cookie stron trzecich, często używany jako alternatywa po stopniowym zaostrzaniu przez przeglądarki reguł dotyczących plików Cookie stron trzecich. Bieżąca implementacja zazwyczaj wymaga połączenia z Secure.
- Prefiksy __Host- / __Secure-
- Obsługiwane przez przeglądarkę prefiksy nazw plików Cookie o wysokim poziomie bezpieczeństwa, posiadające ścisłe reguły ograniczające. W przypadku naruszenia reguł przeglądarka odrzuca przyjęcie odpowiedniego pliku Cookie.
Tabela porównawcza trzech strategii SameSite
Podczas diagnozowania plików Cookie międzywitrynowych najpierw spójrz na granice zachowania SameSite, następnie sprawdź brak Secure.
| Wartość SameSite | Nawigacja górna międzywitrynowa (GET) | Podzasoby międzywitrynowe (img/iframe/script) | Formularze POST międzywitrynowe | XHR/fetch międzywitrynowe | Czy wymagany jest Secure |
|---|---|---|---|---|---|
| Strict | Nie wysyłane | Nie wysyłane | Nie wysyłane | Nie wysyłane | Nie |
| Lax (domyślnie) | Wysyłane | Nie wysyłane | Nie wysyłane | Nie wysyłane | Nie |
| None | Wysyłane | Wysyłane | Wysyłane | Wysyłane | Obowiązkowo potrzebny Secure |
Tabela zgodności częstych problemów debugowania Set-Cookie
Kiedy przeglądarka cicho odrzuca plik Cookie, najpierw sprawdzaj według następujących kierunków — to zazwyczaj szybciej niż patrzenie na treść odpowiedzi.
| Objaw | Najprawdopodobniejsza przyczyna | Sprawdź w pierwszej kolejności |
|---|---|---|
| Przeglądarka w ogóle nie zapisuje pliku Cookie | SameSite=None bez Secure, naruszenie prefiksu lub niedopuszczalna kombinacja atrybutów | Najpierw spójrz na etykiety ostrzegawcze i karty atrybutów na bieżącej stronie |
| Nie działa w scenariuszu międzywitrynowym / iframe | Zbyt restrykcyjny SameSite, brak Secure lub ograniczenia polityk stron trzecich | Skup się na SameSite, Secure, Partitioned |
| Plik Cookie wygasa natychmiast po zapisaniu | Max-Age=0, nieprawidłowy Max-Age, problemy z czasem Expires | Najpierw Max-Age, następnie Expires |
| __Host- / __Secure- Cookie nie działa | Nie spełniono ograniczeń Secure, Path=/ lub Domain | Sprawdź, czy ostrzeżenie o prefiksie zadziałało |
| Działa w środowisku deweloperskim, nie działa w produkcji | Różnice w odpowiedziach na poziomie HTTPS, Domain, Path, SameSite lub proxy | Skopiuj oryginalne nagłówki, porównaj zwracane Set-Cookie w różnych środowiskach |
Privacy & Security
Analiza nagłówków odpowiedzi Set-Cookie, dekodowanie URL, rozkład atrybutów oraz sprawdzanie 14 typów ostrzeżeń są w całości wykonywane lokalnie w przeglądarce. Wklejone Session, Token i pliki Cookie sesji nie są wysyłane na żadne serwery.
- Generator nagłówka Authentication
- Parser nagłówka Cache-Control
- Parser nagłówka Content-Disposition
- Generator nagłówków CORS
- Inspektor CORS
- Generator CSP
- Konwerter cURL na kod
- Globalne Sprawdzanie Propagacji DNS
- Wyszukiwanie DNS
- Parser nagłówków Forwarded
- Generator tagów hreflang
- Analizator HSTS
- Parser plików cookie HTTP
- Sprawdzanie nagłówków HTTP
- Tester żądań HTTP
- Wyszukiwarka kodów statusu HTTP
- Wyszukiwanie IP
- Konwerter IPv4
- Ekspander zakresu IPv4
- Zestaw narzędzi IPv6
- Parser nagłówka Link
- Wyszukiwanie MX
- Sprawdzanie portów
- Kreator parametrów URL
- Parser nagłówka Rate Limit
- Sprawdzanie przekierowań
- Generator Robots.txt
- Inspekcja robots.txt
- Sprawdzanie nagłówków bezpieczeństwa
- Generator security.txt
- Parser Set-Cookie
- Audyt sieci strony
- Generator Sitemap
- Inspekcja Sitemap
- Sprawdzanie Certyfikatów SSL
- Kalkulator Podsieci
- Parser URL
- Parser User-Agent
- Generator linków UTM
- Tester WebSocket
- What Is My IP?
- Wyszukiwanie WHOIS