Co jsou cookies? Jak si vás weby pamatují
Cookie je malý textový záznam, který web požádá váš prohlížeč uložit a pak jej posílat zpět při každé další návštěvě toho webu. Tak si web „pamatuje“ vás – že jste přihlášeni, co máte v košíku, který jazyk jste si vybrali. Cookies jsou jen data, ne programy, ale protože mohou identifikovat vás, záleží na nich jak pro bezpečnost, tak pro soukromí.
Proč na tom záleží, když stavíte s AI
Cookies leží pod několika funkcemi, které si u AI nástroje pro stavbu vyžádáte, často aniž by slovo „cookie“ vůbec padlo:
- Přihlášení. U většiny webových aplikací znamená „zůstat přihlášen“ cookie relace. Jak je ta cookie nastavena, určuje, jak snadno ji lze ukrást.
- Košíky a předvolby. Košík, který přežije obnovení stránky, často spoléhá na cookie nebo na úložiště prohlížeče.
- Analytika a reklama. Přidání Google Analytics, pixelu Meta nebo chatovacího widgetu obvykle přidá cookies od dalších firem.
- Právní upozornění. Na mnoha místech je u některých cookies třeba nejprve souhlas návštěvníka, odtud pocházejí lišty s cookies.
Když víte, jaké cookies vaše aplikace nastavuje a proč, můžete lépe volit nastavení zabezpečení, souhlas a zásady ochrany soukromí.
Každodenní přirovnání
Představte si šatnový lístek. Odevzdáte kabát a dostanete očíslovaný lístek. Lístek neobsahuje váš kabát – jen číslo. Pokaždé, když se vrátíte k pultu, ukážete lístek a obsluha ví, který kabát je váš.
Cookie relace funguje stejně. Když se přihlásíte, server si vaše údaje nechá na své straně a dá vašemu prohlížeči lístek – dlouhé náhodné ID. Prohlížeč tento lístek ukazuje s každým požadavkem a server podle něj zjistí, kdo jste. Kdo lístek opíše, může si vyzvednout kabát, proto je třeba cookie přihlášení chránit.
Jak cookie skutečně funguje
- Navštívíte web. Odpověď serveru obsahuje hlavičku jako
Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax. - Váš prohlížeč ji uloží, svázanou s doménou toho webu.
- Při každém dalším požadavku na stejný web prohlížeč automaticky přidá
Cookie: session_id=8f3k.... - Server ji přečte a ví, že jste to vy.
JavaScript stránky může cookies také vytvářet, ale ty nejdůležitější – relace přihlášení – by měl nastavovat server a skrývat je před JavaScriptem.
Typy cookies
| Typ | Co znamená | Příklad |
|---|---|---|
| Relační cookie | Bez data vypršení; smaže se po skončení relace v prohlížeči | Krátký krok v pokladně |
| Trvalá cookie | Má datum vypršení (Expires nebo Max-Age) a přežije restarty | „Pamatovat si mě 30 dní“ |
| První strana | Nastavuje web v adresním řádku | Vaše přihlášení na tomto webu |
| Třetí strana | Nastavuje jiná doména vložená na stránku | ID sledování reklamní sítě |
| Nezbytně nutné | Potřebné pro službu, o kterou uživatel požádal | Relace přihlášení, nákupní košík |
| Nepovinné | Hodí se majiteli webu, ale nejsou nezbytné | Analytika, reklama, A/B testování |
Prohlížeče postupně omezují cookies třetích stran, protože se používají k sledování lidí napříč weby. Několik hlavních prohlížečů je nyní mnohdy blokuje ve výchozím nastavení a podrobnosti se stále mění, takže na cookies třetích stran nestavte nic důležitého.
Příklad: malý online obchod
Řekněme, že jste postavili obchod s ručně vyráběnými svíčkami. Zde jsou cookies, které by rozumná verze nastavovala, a proč.
session – nastavena, když se majitel nebo zákazník přihlásí. Drží jen náhodné ID; skutečná data relace jsou na serveru. Nastavení: HttpOnly (skripty stránky ji nemohou číst), Secure (posílá se jen přes HTTPS), SameSite=Lax (neposílá se u většiny požadavků zahájených jinými weby). Nezbytně nutná.
cart_id – umožňuje návštěvníkovi, který není přihlášen, zachovat košík. Ukazuje na košík uložený v databázi. Nezbytně nutná, protože návštěvník požádal o přidání věcí do košíku.
theme – pamatuje si tmavý režim. Mohla by to být cookie, ale nikdy nemusí dojít na server, takže localStorage prohlížeče je jednodušší.
Analytické cookies – přidány, pokud nainstalujete analytický nástroj. Jsou nepovinné. V EU a Velké Británii obecně vyžadují souhlas předtím, než se nastaví, takže analytický skript by měl počkat, dokud návštěvník neklikne na „Přijmout“.
Všimněte si, co obchod v cookies neukládá: jméno zákazníka, adresu ani údaje o platební kartě. Cookies cestují s každým požadavkem a žijí v zařízení uživatele, proto by měly obsahovat ID, ne osobní údaje.
Běžné pojmy vysvětleny
| Pojem | Co znamená |
|---|---|
| Cookie | Malý pár název–hodnota, který prohlížeč uloží a posílá zpět webu. |
Set-Cookie | Hlavička odpovědi, kterou server používá k vytvoření nebo aktualizaci cookie. |
| Relace | Záznam serveru o přihlášeném uživateli, propojený s ID cookie. |
HttpOnly | Brání tomu, aby JavaScript stránky cookie četl, což omezuje škody z vložených skriptů. |
Secure | Cookie se posílá jen přes šifrovaná spojení HTTPS. |
SameSite | Určuje, zda se cookie posílá u požadavků z jiných webů (Strict, Lax nebo None). |
Expires / Max-Age | Kdy má být cookie smazána. |
| Domain / Path | Které adresy na webu cookie dostanou. |
| localStorage | Úložiště prohlížeče, které může číst kód stránky, ale které se automaticky neposílá na server. |
| XSS | Cross-site scripting: útočníkův skript běžící ve vaší stránce, který se může pokusit ukrást data. |
| CSRF | Cross-site request forgery: jiný web, který přiměje prohlížeč odeslat požadavek s vašimi cookies. |
| Souhlas s cookies | Žádost o svolení návštěvníků před nastavením nepovinných cookies. |
Časté chyby a omyly
- „Cookies jsou viry.“ Jsou to prostý text. Nemohou spouštět kód na vašem počítači.
- Ukládání citlivých dat do cookies. Uložte náhodné ID a údaje nechte na serveru.
- Přihlašovací tokeny v localStorage. Jakýkoli skript běžící na stránce může číst localStorage, včetně vloženého. Cookie
HttpOnlynemohou skripty stránky číst vůbec. - Chybějící
SecureaHttpOnly. Tyto dva příznaky jsou levné a uzavírají časté díry. - Předpoklad, že lišta pokryje všechno. Lišta, která načte analytiku dřív, než kdokoli klikne na „Přijmout“, svou práci neplní.
- Zapomenutí odhlášení. Odhlášení by mělo smazat cookie a ukončit relaci na serveru, aby zkopírovaná cookie přestala fungovat.
- „Když nepoužívám cookies, pravidla ochrany soukromí se na mě nevztahují.“ Pravidla jako GDPR se vztahují na osobní údaje, kdekoli jsou uloženy – včetně místního úložiště, otisků zařízení a serverových logů.
Na co se zeptat vašeho AI nástroje
- „Vypiš každou cookie, kterou aplikace nastavuje, k čemu slouží, jak dlouho trvá a zda je nezbytně nutná.“
- „Pro relaci přihlášení použij cookie
HttpOnly,Secure,SameSite=Lax. Neukládej přihlašovací tokeny do localStorage.“ - „Do cookie ulož jen náhodné ID relace; data relace drž na serveru.“
- „Při odhlášení smaž cookie a na serveru zneplatni relaci.“
- „Nenačítej analytické ani marketingové skripty, dokud je návštěvník nepřijme, a zapamatuj si jeho volbu.“
- „Přidej do zásad ochrany soukromí jednoduchou sekci o cookies, která odpovídá výše uvedenému seznamu.“
K části se souhlasem viz jak přidat souhlas s cookies. Jak cookies souvisejí s přihlášením, vysvětluje co je autentizace.
Cookies v Mythexu
Mythex neposkytuje vestavěné přihlášení pro uživatele vaší aplikace, takže cookies, které vaše aplikace nastavuje, pocházejí z jejího vlastního kódu a z nástrojů, které do ní přidáte – například relační cookie z přístupu k autentizaci, který zvolíte. Požádejte agenta v chatu, aby je vypsal, zpřísnil jejich nastavení nebo přidal lištu se souhlasem, a výsledek zkontrolujte v živém náhledu před publikováním. Dobrým výchozím promptem je recept z dokumentace přidání přihlášení do vaší aplikace a bezpečnost aplikací, které stavíte vysvětluje, jak držet klíče a tajemství mimo prohlížeč.
Otázky
Co je cookie na webu?
Cookie je malý textový záznam, který web požádá váš prohlížeč uložit. Prohlížeč jej pak posílá zpět s každým dalším požadavkem na tento web, což webu umožňuje pamatovat si věci jako to, jestli jste přihlášeni, nebo co máte v košíku.
Jsou cookies nebezpečné?
Cookies jsou jen data, ne programy, takže nemohou spouštět kód ani napadnout počítač. Obavy vzbuzují soukromí, když cookies třetích stran sledují vás napříč weby, a bezpečnost, když je ukradena přihlašovací cookie a použita k vydávání se za vás.
Jaký je rozdíl mezi cookies první a třetí strany?
Cookie první strany nastavuje web v adresním řádku, například přihlašovací cookie. Cookie třetí strany nastavuje jiná doména vložená do stránky, například reklamní síť, a často slouží k tomu, aby vás sledovala napříč mnoha weby.
Potřebuju lištu s cookies?
Záleží na tom, kde jsou vaši uživatelé a jaké cookies používáte. V EU a Velké Británii obecně potřebují nezbytné cookies, jako jsou analytika nebo reklama, nejprve souhlas, zatímco cookies nezbytně nutné pro službu, například relace přihlášení, obvykle ne. Zkontrolujte pravidla, která se na vás vztahují.
Jaký je rozdíl mezi cookies a localStorage?
Oboje ukládá data v prohlížeči. Cookies se k serveru posílají automaticky s každým požadavkem, což se hodí pro přihlášení. localStorage zůstává v prohlížeči a čte ho jen kód vlastní stránky, což se hodí pro předvolby jako motiv.