Мережа/HTTP

Cookie Parser

Розібрати заголовок Set-Cookie або рядок Cookie/document.cookie на назву, значення, атрибути й перевірку типових помилок безпеки.

Заголовок Set-Cookie чи рядок document.cookie на перший погляд виглядає як суцільний текст, хоча насправді складається з назви, значення й кількох атрибутів безпеки (Secure, HttpOnly, SameSite тощо). Інструмент розбирає цей рядок на складові й підсвічує типові проблеми конфігурації.

Як користуватися

Типові сценарії

Що варто памʼятати

HttpOnly-cookie не видно в document.cookie з JavaScript — це навмисний захист від XSS, і для аналізу такої cookie потрібен саме заголовок Set-Cookie з мережевого запиту.

SameSite=None вимагає обов’язкового атрибута Secure — без нього сучасні браузери таку cookie відхиляють.

Стаття про цей інструмент: Cookies: як невеликий шматок тексту зберігає стан сесії

Часті запитання

За що насправді відповідають атрибути Secure, HttpOnly та SameSite?

Secure обмежує кукі лише HTTPS-з'єднаннями, HttpOnly блокує доступ із JavaScript (допомагаючи запобігти крадіжці через XSS), а SameSite контролює, чи надсилається кукі разом із міжсайтовими запитами.

Чому рядок кукі іноді містить кілька кукі, розділених крапкою з комою?

Заголовок запиту Cookie може містити кілька пар name=value з одного домену в одному рядку, тоді як заголовок відповіді Set-Cookie встановлює одне кукі на екземпляр заголовка, кожне зі своїми атрибутами.

Чи надсилаються дані мого кукі кудись під час аналізу тут?

Ні. Аналіз відбувається повністю у вашому браузері — нічого не завантажується на сервер.

Що означає атрибут Partitioned?

Це частина ініціативи CHIPS, яка дозволяє cookie, встановленій у вбудованому iframe, мати окрему версію для кожного батьківського сайту — компроміс між повним блокуванням сторонніх cookie й старою моделлю наскрізного відстеження.

Скільки cookie можна зберегти для одного домену?

Браузери зазвичай обмежують кількість приблизно 50-180 cookie на домен і близько 4КБ на одну cookie — точні ліміти різняться між браузерами, тому не варто покладатися на зберігання великих обсягів даних у cookie.

Статті: Мережа/HTTP

Розбір URL: з яких частин складається веб-адреса

Чому в URL є частина після символу # , яку сервер навіть не отримує.

Query String проти JSON: чому GET-параметри такі обмежені

Чому передати масив або вкладений об'єкт через query string URL не так просто, як через JSON.

User-Agent: чому цей рядок такий заплутаний

Чому Chrome, Safari та Edge всі містять у User-Agent слова "Mozilla" і "Safari" одночасно.

Basic Authentication: як найпростіший спосіб автентифікації працює в HTTP

Чому Basic Auth обов'язково потребує HTTPS, адже Base64 — це не шифрування, а лише кодування.

HTTP-заголовки: що приховано в кожному запиті й відповіді

Чому заголовок Content-Type визначає, як браузер інтерпретує тіло відповіді сервера.

CORS: чому браузер блокує "звичайні" запити до іншого домену

Чому помилка CORS виникає в браузері, а не на боці сервера, і хто насправді блокує запит.

Заголовки email: як простежити шлях листа від відправника до вас

Чому заголовки Received потрібно читати знизу вгору, щоб простежити шлях листа.