Čo sú cookies? Ako si vás weby pamätajú
Cookie je malý textový súbor, ktorý web požiada váš prehliadač uložiť a potom ho poslať späť pri každej ďalšej návšteve tohto webu. Tak si web „pamätá“ vás – že ste prihlásení, čo máte v košíku, ktorý jazyk ste vybrali. Cookies sú len dáta, nie programy, ale keďže môžu identifikovať vás, záležia na nich z hľadiska bezpečnosti aj súkromia.
Prečo je to dôležité pri tvorbe s AI
Cookies sú pod viacerými funkciami, o ktoré budete AI tvorcu žiadať, často bez toho, aby slovo „cookie“ vôbec padlo:
- Prihlásenie. V väčšine webových aplikácií znamená „zostať prihlásený“ reláciové cookie. Ako je toto cookie nastavené, určuje, ako ľahko sa dá ukradnúť.
- Košíky a predvoľby. Košík, ktorý prežije obnovenie stránky, sa často spolieha na cookie alebo na úložisko prehliadača.
- Analytika a reklamy. Pridanie Google Analytics, Meta pixelu alebo chatovacieho widgetu zvyčajne pridá cookies od iných firiem.
- Právne upozornenia. Na mnohých miestach niektoré cookies vyžadujú najprv súhlas návštevníka, odtiaľ pochádzajú bannery pre cookies.
Ak viete, aké cookies vaša aplikácia nastavuje a prečo, môžete lepšie rozhodovať o bezpečnostných nastaveniach, súhlase a svojich zásadách ochrany súkromia.
Každodenné prirovnanie
Predstavte si lístok do šatne. Odovzdáte kabát a dostanete očíslovaný lístok. Lístok nemá v sebe váš kabát – je na ňom len číslo. Pri každom návrate k pultu ukážete lístok a obsluha vie, ktorý kabát je váš.
Reláciové cookie funguje rovnako. Keď sa prihlásite, server si nechá vaše údaje u seba a dá vášmu prehliadaču lístok – dlhé náhodné ID. Váš prehliadač ukazuje tento lístok pri každej požiadavke a server podľa neho zistí, kto ste. Kto skopíruje lístok, môže si vziať kabát, preto treba prihlasovacie cookies chrániť.
Ako cookie v skutočnosti funguje
- Navštívite web. Odpoveď servera obsahuje hlavičku ako
Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax. - Váš prehliadač ju uloží, naviazanú na doménu tohto webu.
- Pri každej ďalšej požiadavke na ten istý web prehliadač automaticky pridá
Cookie: session_id=8f3k.... - Server ju prečíta a vie, že ste to vy.
JavaScript stránky môže cookies tiež vytvárať, no tie najdôležitejšie – relácie prihlásenia – by mal nastavovať server a mali by byť skryté pred JavaScriptom.
Typy cookies
| Typ | Čo to znamená | Príklad |
|---|---|---|
| Reláciové cookie | Bez dátumu expirácie; zmaže sa pri ukončení relácie prehliadača | Krátky krok pokladne |
| Trvalé cookie | Má dátum expirácie (Expires alebo Max-Age) a prežije reštart | „Zapamätať si ma na 30 dní“ |
| Prvej strany | Nastaví web v adresnom riadku | Vaše prihlásenie na tom webe |
| Tretej strany | Nastaví iná doména vložená do stránky | ID sledovania reklamnej siete |
| Nevyhnutné | Potrebné pre službu, o ktorú používateľ požiadal | Relácia prihlásenia, nákupný košík |
| Nepotrebné | Príjemné pre vlastníka webu | Analytika, reklamy, A/B testovanie |
Prohliadače postupne obmedzujú cookies tretích strán, lebo sa používajú na sledovanie ľudí naprieč webmi. Niekoľko veľkých prehliadačov ich teraz predvolene blokuje a podrobnosti sa stále menia, takže na cookies tretích strán nestavajte nič dôležité.
Praktický príklad: malý online obchod
Predstavme si, že ste vytvorili obchod s ručne robenými sviečkami. Tu sú cookies, ktoré by rozumná verzia nastavila, a prečo.
session – nastavené, keď sa vlastník alebo zákazník prihlási. Obsahuje len náhodné ID; skutočné údaje relácie uchováva server. Nastavenia: HttpOnly (skripty stránky ho nemôžu čítať), Secure (posiela sa len cez HTTPS), SameSite=Lax (neposiela sa pri väčšine požiadaviek, ktoré začali iné weby). Nevyhnutné.
cart_id – umožní návštevníkovi, ktorý nie je prihlásený, zachovať si košík. Ukazuje na košík uložený v databáze. Nevyhnutné, lebo návštevník chcel pridať veci do košíka.
theme – pamätá si tmavý režim. Mohlo by to byť cookie, ale nikdy nemusí dôjsť na server, takže lokálne úložisko prehliadača localStorage je jednoduchšie.
Analytické cookies – pridané, ak nainštalujete analytický nástroj. Sú nepotrebné. V EÚ a Spojenom kráľovstve zvyčajne vyžadujú súhlas pred nastavením, takže analytický skript by mal počkať, kým návštevník klikne na „Prijať“.
Všimnite si, čo obchod v cookies neukladá: meno zákazníka, adresu ani údaje o karte. Cookies putujú pri každej požiadavke a žijú na zariadení používateľa, takže majú obsahovať ID, nie osobné údaje.
Vysvetlenie bežných pojmov
| Pojem | Čo znamená |
|---|---|
| Cookie | Malá dvojica názov–hodnota, ktorú prehliadač uloží a pošle späť webu. |
Set-Cookie | Hlavička odpovede, ktorou server vytvorí alebo aktualizuje cookie. |
| Relácia (session) | Záznam servera o prihlásenom používateľovi, prepojený s ID cookie. |
HttpOnly | Zabráni tomu, aby JavaScript stránky cookie čítal, čo obmedzuje škody od vložených skriptov. |
Secure | Cookie sa posiela len cez šifrované spojenia HTTPS. |
SameSite | Riadi, či sa cookie posiela pri požiadavkách z iných webov (Strict, Lax alebo None). |
Expires / Max-Age | Kedy má byť cookie zmazané. |
| Domain / Path | Ktoré adresy na webe cookie dostanú. |
| localStorage | Úložisko prehliadača, ktoré môže čítať kód stránky, ale ktoré sa automaticky neposiela na server. |
| XSS | Cross-site scripting: útočníkov skript bežiaci vo vašej stránke, ktorý sa môže pokúsiť ukradnúť dáta. |
| CSRF | Cross-site request forgery: iný web, ktorý oklame prehliadač, aby poslal požiadavku s vašimi cookies. |
| Súhlas s cookies | Žiadosť o povolenie návštevníkov pred nastavením nepotrebných cookies. |
Časté chyby a mylné predstavy
- „Cookies sú vírusy.“ Sú to obyčajný text. Nemôžu spúšťať kód na vašom počítači.
- Ukladanie citlivých dát do cookies. Uložte náhodné ID a údaje nechajte na serveri.
- Tokeny prihlásenia v localStorage. Akýkoľvek skript bežiaci na stránke vie čítať localStorage, vrátane vloženého. Cookie
HttpOnlynemôžu skripty stránky vôbec čítať. - Chýbajúce
SecureaHttpOnly. Tieto dva príznaky sú lacné a zatvárajú bežné diery. - Predpoklad, že banner pokryje všetko. Banner, ktorý načíta analytiku skôr, než niekto klikne na „Prijať“, svoju úlohu neplní.
- Zabudnutie na odhlásenie. Odhlásenie by malo zmazať cookie a ukončiť reláciu na serveri, aby skopírované cookie prestalo fungovať.
- „Ak nepoužívam cookies, pravidlá ochrany súkromia sa na mňa nevzťahujú.“ Pravidlá ako GDPR pokrývajú osobné údaje kdekoľvek sú uložené – vrátane lokálneho úložiska, odtlačkov zariadení a serverových logov.
Čo sa pýtať svojho AI tvorcu
- „Vypíš každé cookie, ktoré aplikácia nastavuje, na čo slúži, ako dlho trvá a či je nevyhnutné.“
- „Pre reláciu prihlásenia použi cookie
HttpOnly,Secure,SameSite=Lax. Autentifikačné tokeny nedávaj do localStorage.“ - „Do cookie ukladaj len náhodné ID relácie; dáta relácie ukladaj na serveri.“
- „Pri odhlásení vymaž cookie a na serveri zneplatni reláciu.“
- „Analytické ani marketingové skripty nenačítavaj, kým ich návštevník neprijme, a zapamätaj si jeho voľbu.“
- „Pridaj do zásad ochrany súkromia krátku sekciu o cookies, ktorá zodpovedá vyššie uvedenému zoznamu.“
Pre časť so súhlasom pozrite ako pridať súhlas s cookies. O tom, ako cookies zapadajú do prihlásení, si prečítajte čo je autentifikácia.
Cookies v Mythex
Mythex neposkytuje vstavané prihlásenie pre používateľov vašej aplikácie, takže cookies, ktoré vaša aplikácia nastavuje, pochádzajú z jej vlastného kódu a z nástrojov, ktoré do nej pridáte – napríklad reláciové cookie z prístupu k autentifikácii, ktorý zvolíte. Požiadajte agenta v chate, aby ich vypísal, sprísnil ich nastavenia alebo pridal banner so súhlasom, a výsledok skontrolujte v živom náhľade skôr, než publikujete. Dobrým východiskovým promptom je návod v dokumentácii ako pridať prihlásenie do aplikácie a bezpečnosť pre aplikácie, ktoré stavate vysvetľuje, ako držať kľúče a tajomstvá mimo prehliadača.
Otázky
Čo je cookie na webovej stránke?
Cookie je malý textový súbor, ktorý web požiada váš prehliadač uložiť. Prehliadač ho pri každej ďalšej požiadavke na tento web pošle späť, čo webu umožňuje pamätať si veci, ako je to, či ste prihlásení alebo čo máte v košíku.
Sú cookies nebezpečné?
Cookies sú len dáta, nie programy, takže nemôžu spúšťať kód ani napadnúť počítač. Obavy sa týkajú súkromia, keď cookies tretích strán sledujú vás naprieč webmi, a bezpečnosti, keď sa ukradne prihlasovacie cookie a použije sa na vydávanie sa za vás.
Aký je rozdiel medzi cookies prvej a tretej strany?
Cookie prvej strany nastaví web, ktorý je v adresnom riadku, napríklad prihlasovacie cookie. Cookie tretej strany nastaví iná doména vložená do stránky, napríklad reklamná sieť, a často sa používa na sledovanie vás naprieč mnohými webmi.
Potrebujem banner pre cookies?
Závisí to od toho, kde sú vaši používatelia a aké cookies používate. V EÚ a Spojenom kráľovstve väčšina nepotrebných cookies, napríklad analytických alebo reklamných, zvyčajne vyžaduje najprv súhlas, zatiaľ čo cookies nevyhnutné pre službu, ako relácia prihlásenia, zvyčajne nie. Skontrolujte pravidlá, ktoré sa na vás vzťahujú.
Aký je rozdiel medzi cookies a localStorage?
Oboje ukladajú dáta v prehliadači. Cookies sa pri každej požiadavke automaticky posielajú na server, čo sa hodí na prihlasovanie. localStorage zostáva v prehliadači a číta ho len kód samotnej stránky, čo sa hodí na predvoľby ako téma vzhľadu.