Skip to main content

Typy cookies: Kompletní technický průvodce

Ne všechny cookies jsou stejné. Typ cookie určuje, jak dlouho přetrvává, kdo ji může číst, jak bezpečně putuje sítí a — což je zásadní — zda vyžaduje souhlas uživatele. Pochopení těchto rozdílů je klíčové jak pro dodržování předpisů, tak pro implementaci.

Relační cookies vs. trvalé cookies

Nejzákladnějším rozdílem je, jak dlouho cookie vydrží.

Relační cookies

Relační cookie existuje pouze po dobu trvání relace prohlížeče. Nemá atribut Expires ani Max-Age. Když uživatel zavře prohlížeč, cookie se smaže.

Set-Cookie: cart_id=xyz789; Path=/; Secure; HttpOnly

Relační cookies se obvykle používají k:

  • Udržování stavu přihlášení během návštěvy
  • Obsahu nákupního košíku
  • Tokenům pro ochranu proti CSRF
  • Datům vícekrokových formulářů

Protože relační cookies nepřetrvávají, jsou z hlediska soukromí obecně méně invazivní. Přesto vyžadují souhlas, pokud nejsou nezbytně nutné pro službu, kterou si uživatel vyžádal.

Trvalé cookies

Trvalá cookie má explicitně stanovené datum platnosti. Přežije restart prohlížeče a zůstává na zařízení uživatele, dokud nevyprší nebo není ručně smazána.

Set-Cookie: preferences_lang=en; Path=/; Max-Age=31536000; Secure

Tato cookie přetrvá jeden rok (31 536 000 sekund). Mezi běžná využití patří:

  • Funkce „zapamatovat si mě“ při přihlašování
  • Předvolby jazyka a motivu
  • Analytické identifikátory (cookies Google Analytics přetrvávají až 2 roky)
  • Reklamní sledování (některé reklamní cookies přetrvávají 13 měsíců i déle)

Trvalé cookies podléhají v rámci předpisů o ochraně soukromí přísnějšímu dohledu. CNIL (francouzský úřad pro ochranu dat) doporučil maximální životnost cookie 13 měsíců a souhlas musí být obnovován rovněž alespoň každých 13 měsíců.

Cookies první strany vs. cookies třetích stran

Tento rozdíl je ústředním bodem debaty o soukromí a přímo ovlivňuje požadavky na souhlas.

Cookies první strany

Cookie první strany nastavuje doména, kterou uživatel skutečně navštěvuje. Pokud navštívíte example.com, jakákoli cookie nastavená doménou example.com je cookie první strany.

Cookies první strany slouží k základním funkcím webu: relacím, předvolbám, analytice, kterou provozovatel webu provozuje sám. Mohou být čteny pouze doménou, která je nastavila.

Příklad: Navštívíte shop.example.com. Server nastaví cookie s názvem session_id. Tato cookie se odesílá pouze na shop.example.com a její subdomény. Žádný jiný web k ní nemá přístup.

Cookies třetích stran

Cookie třetí strany nastavuje jiná doména, než kterou uživatel navštěvuje. Když example.com načte reklamní skript z ads.tracker.com a tento skript nastaví cookie pod doménou tracker.com, jedná se o cookie třetí strany.

Takto funguje sledování napříč weby. Cookie tracker.com se odesílá s každým požadavkem na tracker.com, bez ohledu na to, který web požadavek vyvolal. Pokud jsou skripty tracker.com vloženy na 10 000 webech, mohou stejného uživatele sledovat na všech 10 000 stránkách.

Cookies třetích stran jsou primárním cílem jak regulačního vymáhání, tak omezení na úrovni prohlížečů:

  • Safari blokuje cookies třetích stran ve výchozím nastavení od roku 2020 (ITP)
  • Firefox ve výchozím nastavení blokuje známé sledovací nástroje třetích stran (ETP)
  • Chrome v rámci iniciativy Privacy Sandbox od cookies třetích stran přechází pryč
  • Regulační vymáhací opatření se drtivou většinou zaměřují na sledovací cookies třetích stran

Zabezpečené cookies

Cookie s atributem Secure se odesílá pouze přes připojení HTTPS. Nikdy nebude přenášena přes nešifrované HTTP.

Set-Cookie: auth_token=secret123; Secure

Tím se zabrání útočníkovi typu man-in-the-middle zachytit cookie na nezabezpečeném připojení. Jakákoli cookie obsahující citlivé informace — identifikátory relací, autentizační tokeny, osobní údaje — by měla být vždy označena jako Secure.

Z hlediska dodržování předpisů může být nepoužití příznaku Secure u citlivých cookies považováno za nezavedení vhodných technických opatření podle článku 32 GDPR (bezpečnost zpracování).

Cookies HttpOnly

Cookie s atributem HttpOnly nemůže být zpřístupněna prostřednictvím JavaScriptu přes document.cookie. Odesílá se pouze s HTTP požadavky na server.

Set-Cookie: session_id=abc123; HttpOnly

Jde o zásadní bezpečnostní opatření. Útoky typu cross-site scripting (XSS) se často pokoušejí ukrást cookies vložením JavaScriptu, který čte document.cookie. Příznak HttpOnly tento vektor zcela znemožňuje.

Relační cookies a autentizační cookies by měly být téměř vždy HttpOnly. Cookies, které musí být čteny klientským JavaScriptem (jako jsou cookies předvoleb ovlivňující uživatelské rozhraní), nemohou být HttpOnly.

Cookies SameSite

Atribut SameSite řídí, zda se cookie odesílá s požadavky napříč weby. Byl zaveden pro zmírnění útoků cross-site request forgery (CSRF) a k tomu, aby weby získaly větší kontrolu nad chováním cookies napříč weby.

SameSite=Strict

Cookie se odesílá pouze s požadavky pocházejícími ze stejného webu. Pokud uživatel klikne na odkaz na other.com, který vede na your-site.com, cookie nebude s tímto počátečním požadavkem odeslána.

Jedná se o nejbezpečnější nastavení, ale může narušit legitimní funkčnost. Pokud například uživatel klikne na odkaz na váš web z e-mailu, jeho relační cookie by nebyla odeslána a jevil by se jako odhlášený.

SameSite=Lax

Cookie se odesílá při navigaci na nejvyšší úrovni (kliknutí na odkaz), ale ne s podpožadavky napříč weby (načítání obrázků, rámců nebo AJAX požadavky z jiného webu). Toto je výchozí nastavení v moderních prohlížečích, pokud není zadán žádný atribut SameSite.

Lax poskytuje rozumnou rovnováhu mezi bezpečností a použitelností. Zabraňuje weby třetích stran spouštět autentizované akce na vašem webu a zároveň umožňuje běžnou navigaci pomocí odkazů.

SameSite=None

Cookie se odesílá se všemi požadavky, včetně požadavků napříč weby. To je nutné pro fungování cookies třetích stran. Cookie nastavená s SameSite=None musí mít také atribut Secure.

Set-Cookie: tracking_id=xyz; SameSite=None; Secure

Jakákoli cookie, která musí fungovat v kontextu napříč weby (vložené widgety, autentizace třetích stran, sledování napříč weby), musí používat SameSite=None. To je stále relevantnější, jak prohlížeče zpřísňují své výchozí zásady pro cookies.

Zombie cookies a supercookies

Za zmínku stojí, protože představují pokusy o obcházení kontrol ochrany soukromí:

  • Zombie cookies jsou cookies, které se po smazání znovu vytvoří. Obvykle fungují tak, že ukládají stejný identifikátor do několika úložných mechanismů (cookies, localStorage, IndexedDB, Flash LSO) a pomocí toho, co přežije, obnoví ostatní. Tato praxe je široce považována za klamavou a byla předmětem vymáhacích opatření.
  • Supercookies jsou sledovací mechanismy, které fungují na úrovni pod běžnými cookies — například vkládání hlaviček na úrovni poskytovatele internetu (Verizon UIDH) nebo fingerprinting založený na HSTS. Pro uživatele je extrémně obtížné je ovládat nebo smazat.

Zombie cookies i supercookies jsou jednoznačně neslučitelné s požadavky GDPR a ePrivacy. Jejich používání by představovalo porušení zásad transparentnosti, zákonnosti a minimalizace údajů.

Srovnávací tabulka

Typ Životnost Rozsah Obvykle vyžaduje souhlas? Klíčové případy použití
Relační Pouze relace prohlížeče První strana Pouze pokud nejsou nezbytné Stav přihlášení, košík, CSRF tokeny
Trvalá (první strana) Dny až roky První strana Obvykle ano Předvolby, analytika, zapamatování
Trvalá (třetí strana) Dny až roky Napříč weby Téměř vždy ano Reklama, retargeting, sociální widgety
Secure Různě Pouze HTTPS Závisí na účelu Jakákoli citlivá cookie
HttpOnly Různě Pouze na straně serveru Závisí na účelu ID relací, autentizační tokeny
SameSite=Strict Různě Pouze stejný web Závisí na účelu Operace citlivé na CSRF
SameSite=Lax Různě Stejný web + navigace nejvyšší úrovně Závisí na účelu Obecná správa relací
SameSite=None Různě Všechny kontexty (vyžaduje Secure) Téměř vždy ano Vložené prvky třetích stran, autentizace napříč weby

Co to znamená pro dodržování předpisů

Typ cookie přímo ovlivňuje vaše povinnosti v oblasti dodržování předpisů:

  1. Relační cookies první strany, které jsou nezbytně nutné (přihlašovací relace, nákupní košíky, CSRF tokeny), jsou z požadavků na souhlas vyňaty podle článku 5 odst. 3 ePrivacy.
  2. Trvalé cookies první strany pro analytiku, předvolby nebo funkčnost obecně vyžadují souhlas — ačkoli některé úřady pro ochranu dat umožňují za specifických podmínek omezené výjimky pro analytiku první strany.
  3. Cookies třetích stran jakéhokoli druhu téměř vždy vyžadují výslovný předchozí souhlas. Legitimních výjimek je velmi málo.
  4. Bezpečnostní atributy (Secure, HttpOnly, SameSite) nemění požadavky na souhlas, ale jejich používání dokládá dobrou bezpečnostní praxi — což je samo o sobě požadavkem GDPR.

Přesná znalost toho, které cookies váš web nastavuje — a jakého typu každá z nich je — je základem každého programu dodržování předpisů. Skener Passiro automaticky identifikuje a klasifikuje každou cookie na vašem webu, včetně cookies třetích stran nastavených vloženými skripty, o kterých možná ani nevíte.

Nyní, když rozumíme typům, se podívejme, jak jsou cookies organizovány do kategorií souhlasu — klasifikačního systému, který určuje, jak se zobrazují ve vašem cookie banneru.

Splňuje váš web pravidla pro cookies?

Zdarma naskenujte svůj web a najděte všechny cookies během několika minut.

Skenovat cookies zdarma