HTTP cookie

Cookie (po anglicky koláčik, oblátka, sušienka) je v protokole HTTP malé množstvo stavových dát, ktoré WWW server pošle webovému prehliadaču súčasne s požadovanou webovou stránkou daného webového sídla, ak toto používa cookies (množné číslo od cookie). Ak sú cookies v prehliadači povolené, uložia sa na počítači (alebo smartfóne alebo tablete) používateľa, zvyčajne ako krátky textový súbor na určené miesto. Pri ďalšej požiadavke prehliadača na stránku z toho istého webového sídla (prakticky z tej istej domény napríklad passwords.example.org) potom prehliadač posiela späť serveru aj uložené cookie alebo viac cookies, ktoré si pýta už v hlavičke stránky. V prípade dočasných cookies sú informácie zapamätané len po dobu trvania aktuálnej návštevy (session) daného sídla, v prípade permanentných cookies aj pri ďalších návštevách až do uplynutia platnosti cookies, alebo ich odstránenia (vymazania) používateľom.

Cookies zvyčajne slúžia na rozlišovanie jednotlivých užívateľov. Ukladajú sa do nich najčastejšie používateľské predvoľby (napríklad jazyk) a pod. Myšlienku cookies navrhol v 90. rokoch 20. storočia Lou Montulli, vtedy pracujúci vo firme Netscape Communications.

Názov cookie – sušienka je odvodený z anglosaského zvyku ponúknuť návšteve obľúbenú sušienku na vytvorenie príjemnejšej atmosféry.[chýba zdroj] Cookies majú viaceré výhody ale môžu byť aj zneužité na sledovanie užívateľa, preto je dôležité rozumieť ich účelu, čo umožňuje zvoliť správne nastavenie prehliadača a rozhodnutie o tom, či prijať alebo zamietnuť prijatie a ukladanie cookies.

Jann Horn v rámci projektu Google Project Zero popísal spôsoby, ako môžu byť cookies čítané sprostredkovateľom komunikácie (anglicky Man-in-the-middle) ako sú napríklad poskytovatelia Wi-Fi hotspotov. Za týchto okolností odporúča použiť prehliadač v privátnom režime prehliadania,[1] ktorý sa v rôznych prehliadačoch nazýva ako Private Browsing (Safari), Inkognito/Incognito (Google Chrome), InPrivate (Internet Explorer, Microsoft Edge). V tomto režime sa cookies nezapisujú natrvalo resp. sa odstraňujú priamo prehliadačom. Nastavenie prehliadača na prijímanie cookies je podľa Zákona o elektronických komunikáciách (§ 55 ods. 5 pozri dole celé znenie) považované za súhlas s používaním cookies. Preto ak navštívite slovenské webové stránky a v prehliadači je povolené prijímanie súborov cookie, považuje sa to za prijatie podmienok používania súborov cookie daného sídla a preto je jedno kde na oznam o používaní cookies kliknete.

V úvode Všeobecného nariadenia o ochrane údajov (GDPR) sú cookies (odst. 30) definované ako online identifikátory, ktoré ..môžu zanechávať stopy, ktoré sa najmä v kombinácii s jedinečnými identifikátormi a inými informáciami získanými zo serverov môžu použiť na vytvorenie profilov fyzických osôb a na ich identifikáciu a preto sú považované za osobné údaje.[2] (Pozri ďalej Bezpečnosť a ochrana súkromia.)

Účel cookies

Cookies môžu byť použité na zaznamenávanie voľby, ktorú urobil užívateľ ako napríklad položky pridané v nákupnom košíku v internetovom obchode (e-shop) alebo môžu zaznamenávať aktivitu používateľa počas prehliadania napríklad kliknutia na tlačidlá, prihlásenie alebo zaznamenávanie stránok, ktoré už navštívil. Môžu sa tiež použiť na zapamätanie si ľubovoľných informácií, ktoré používateľ predtým zadal do formulárov ako sú mená, adresy, heslá alebo čísla kreditných kariet.

Iné druhy cookies zabezpečujú niektoré základné funkcie súčasných webov. Najdôležitejšie sú autentifikačné (authentication) cookies, ktoré používajú servery na to, aby zistili, či je používateľ prihlásený alebo nie (a s ktorým účtom, ak ich má viacej). Bez takéhoto mechanizmu by stránka nevedela, či zobraziť na stránke citlivé informácie alebo nie a či požiadať používateľa o autentifikáciu prihlásením (login) alebo nie. Moderné weby však neukladajú meno používateľa a heslo do cookie ale využívajú iné metódy napríklad HTTP authentication. Tieto údaje aj keď sa uložia v počítači (napríklad pri voľbe zapamätať heslo), sú zvyčajne chránené ešte ďalším prístupovým mechanizmom. Heslá v internetových bankách nie sú nikdy ukladané do cookies.

Rozdelenia cookies podľa účelu

Java[3] delí cookies na 3 kategórie a Google na 6 kategórií[4]. Názvy kategórii v nasledovnom zodpovedajú Jave a názvy Google sú v zátvorke šikmým písmom:

Základné cookies (Predvoľby a Zabezpečenie)

  • požadované alebo nevyhnutné pre stránky s prihlasovaním a transakciami
  • Zapamätanie prihlasovacích údajov a zjednodušenie prihlasovania
  • Zapamätanie stavu prebiehajúcej úlohy alebo postupu transakcii

Funkčné cookies (Procesy a Analytics)

  • Analýza využívania sídla za účelom poskytovanie prispôsobeného (personalizovaného) obsahu
  • Analýza s cieľom optimalizovať funkčnosť
  • Uložiť obsah nákupného košíka/vozíka
  • Umožniť tretím stranám zdieľanie na sociálnych sieťach
  • Zabezpečiť aby sa webová stránka zobrazovala konzistentne

Reklamné cookies (Inzercia a Stav inzercie)

  • Poskytovať ponuky alebo reklamy založené na záujmoch
  • Umožniť tretím stranám, aby poskytovali reklamy založené na záujmoch aj na iných stránkach ako tohto poskytovateľa
  • Umožniť zdieľať stránky so sociálnymi sieťami
  • Umožniť posielať komentáre

Technické podrobnosti

Hoci väčšina prehliadačov cookies podporuje, iné jednoduchšie prehliadače (napr. na mobilných zariadeniach) ich podporovať nemusia; navyše cookies možno vo väčšine prehliadačov zakázať. Ak prehliadač cookies podporuje, mal by spĺňať tieto minimálne limity:

  • Podpora aspoň 300 cookies[5]
  • Aspoň 4 KiB na dáta jednej cookie
  • Aspoň 20 cookies na doménu[6]
  • Ak niektoré prehliadače nemôžu prijať väčší cookie, nesmú "orezať" jeho obsah, ale ho vôbec neprijať

Cookies obsahujú textové informácie. Na strane klienta (užívateľa) sa môžu ukladať na rôzne miesta. Napríklad pre Internet Explorer vo Windows XP sa ukladali ako textové súbory do adresára c:\Documents and Settings\Meno používateľa\Cookies. V novšom prehliadači Google Chrome sa v systéme Windows 7 a 10 ukladajú cookies ako zašifrované záznamy (riadky) do SQL databázy a sú v súbore C:\Users\<current_user>\AppData\Local\Google\Chrome\User Data\<Profile 1>\Cookies.[7] Cookies sa teda dajú prezrieť alebo odstrániť len v nastaveniach prehliadača.

Funkcia cookies je definovaná v RFC 2965 pomocou HTTP hlavičiek Set-Cookie (alebo jej novšieho variantu Set-Cookie2) a Cookie. Hlavička Set-Cookie je poslaná v odpovedi servera a obsahuje:[5]

  • Názov (identifikátor) cookie
  • Dáta cookie (obmedzené prehliadačom, vyžadovaná je podpora aspoň pre 4 096 bajtov),
  • Dobu platnosti cookie (resp. čas, kedy doba vyprší),
  • Doména, pre ktorú cookie platí,
  • Adresár na serveri, pre ktorý cookie platí.

Ak má prehliadač aspoň jednu cookie pre daný server (a daný adresár na ňom), posiela s každým dotazom danému serveru aj hlavičku Cookie, ktorá obsahuje rovnaké dáta, ktorá server pôvodne poslal.

V prehliadačoch s podporou JavaScriptu možno v tomto jazyku ku cookie pristupovať cez vlastnosť document.cookie vo forme: názov_1._cookie = hodnota_1._cookie; názov_2._cookie = hodnota_2._cookie; .... Páry názov: hodnota sú oddelené bodkočiarkou, ak má hodnota obsahovať bodkočiarku, je obalená úvodzovkami.

Cookie možno nastavovať taktiež na strane servera (podľa možností skriptovacieho jazyka) – nastavenie hodnoty cookie predstavuje v podstate pridanie HTTP hlavičky do odpovede serveru (z toho dôvodu musí nastavenie prebehnúť pred vypísaním čohokoľvek na výstup). Napríklad, pre jazyk PHP k tomu slúži funkcia setcookie so syntaxou:

Bool setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

Bezpečnosť a ochrana súkromia

Cookies neznamenajú žiadne nebezpečenstvo pre počítač, pretože sú v textovom alebo podobnom súbore, ktorý nemôže byť spustený a prevziať kontrolu nad počítačom. Napriek tomu cookies môžu byť nebezpečné z pohľadu ochranu súkromia. Navštívený web si totiž môže ukladať do cookies akékoľvek informácie, ktoré o návštevníkovi zistí a môže tak postupne zisťovať záujmy konkrétneho návštevníka: ktoré stránky navštevuje, aké informácie vyhľadáva, ako často daný web navštevuje, na ktorý iný web odchádza a pod.

Týchto informácií sa dá neskôr aj bez vedomia návštevníka využívať pre cielenú reklamu (eufemisticky nazývanú ako reklama založená na záujmoch), štatistické vyhodnocovanie správania návštevníkov, a pod. Tieto informácie však môže server získavať aj bez cookies, preto toto ich využitie nemôže byť považované za obzvlášť nebezpečné.

Ak viacero webových sídiel využíva rovnakú technológiou cookies a zasiela ich tretej strane, môže potom táto tretia strana pomocou cookies identifikovať a sledovať užívateľa aj pri prechádzaní z jednej domény na druhú. Takýmto nástrojom na identifikáciu návštevníkov je napríklad Google Analytics. [8]

Cookies možno zneužiť najmä vtedy, ak získa útočník prístup k počítaču používateľa, pretože cookies na počítači nie sú nijako chránené. Potom útočník môže ukradnúť identitu napadnutého.

Aj bez fyzického prístupu k počítaču existuje niekoľko podvodných spôsobov ako ukradnúť cookies (angl. cookie theft) alebo ukradnúť/uniesť aktuálnu návštevu (angl. session hijacking), ktoré sú možné, obzvlášť ak je pripojenie cez nezabezpečenú wifi sieť, ak je webový prehliadač zle nastavený alebo nechránený.

Prípad zneužitia cookies na Slovensku

Odborník na nákup lacných leteniek Dušan Kráľ tvrdí, že niektoré letecké spoločnosti alebo predajcovia leteniek využívajú cookies na sledovanie zákazníkov a na manipuláciu s výškou cien leteniek.[9] Princíp takéhoto zneužitia spočíva v tom, že cena sa zvyšuje so vzrastajúcim počtom návštev daného letu.

Cookies sú textové záznamy, ktoré sú napríklad v systéme Windows pre prehliadač Google Chrome v priečinku: C:\Users\<účet_užívateľa>\AppData\Local\Google\Chrome\User Data\Default\ v súbore Cookies (je to SQLite databáza). Samotný cookie sa preto nemôže spustiť a prevziať ovládanie počítača (šíriť vírus a pod.). Problémom je preto len možné zneužitie cookies, ktoré napríklad obsahujú nákupné správanie (napríklad návšteva informácií o konkrétnom lete alebo ceny naposledy zaplatené za letenky ako v spomínanom prípade). O takýto druh údajov môže mať záujem nielen priamo predajca, ktorého stránku navštívite (ktorý má právo čítať svoje cookie na vašom počítači) ale aj ostatní predajcovia, ktorí sa k nim môžu dostať podvodmi.

Povoliť, odstrániť, zakázať cookies

Cookies majú mnohé výhody a ich používanie uľahčuje prehliadanie. Vo všeobecnosti ich netreba zakazovať ani zatracovať. Zneužitie cookies sa zbytočne nafukuje a to aj v prípade na Slovensku, kedy sa zvyšovanie ceny ako dôsledok používania cookies nedalo jednoznačne preukázať. Naša legislatíva definuje (pozri nasledovný nadpis), že cookies môžu byť použité len na prenos alebo uľahčenie prenosu. Zneužitie cookies na manipuláciu s cenou je preto trestné. Proti zákazu alebo obmedzeniu cookies sa stavajú firmy, ktoré sa špecializujú na vyhľadávanie a predávanie reklamy. Naopak, ich možné negatívne dôsledky zveličujú firmy zamerané na ochranu počítačov a osobných údajov.

Užívateľ má možnosť v počítači cookies prehliadať a odstrániť ich jednotlivo alebo všetky naraz a to buď priamo (ak vie kde sú uložené) alebo pomocou prehliadača. Odstránenie cookies z počítača nemá žiaden podstatný vplyv na prehliadanie webu. Web by mal potom (pri ďalšej návšteve po odstránení cookies) užívateľa pokladať za nového. Je však pravdou, že po odstránení sa môžu odstrániť aj niektoré údaje, ktoré uľahčujú prihlasovanie alebo vypĺňanie formulárov. V prehliadači Google Chrome možno nastavenie cookies nájsť pod Nastavenia alebo chrome://settings/content/cookies a zobraziť všetky cookies pomocou chrome://settings/siteData (Chrome umožňuje prezerať, povoliť, zakázať, odstrániť cookies nie však ich priamo zobraziť alebo upravovať).

Užívateľ môže úplne zakázať ukladanie cookies na svojom počítači alebo zvoliť si režim privátneho (privacy mode) prehliadania (Inkognito, inPrivate a pod.), ktorý má ešte výraznejšie obmedzenia. Musí však potom počítať s obmedzeniami, ktoré vyplývajú z nemožnosti využiť výhody cookies. Nie je pravda, že web stránky nefungujú bez cookies. Nefungujú len služby, pre ktoré sú cookies nevyhnutné (alebo web stránky, ktoré ktoré sú navrhnuté zámerne tak, aby bez cookies nefungovali).

Smernica Európskej únie o cookies

Smernica Európskeho parlamentu a Rady 2002/58/ES z 12. júla 2002 odporúča úpravu povinností prevádzkovateľov webových sídiel v súvislosti s ukladaním cookies:

Ak sú také zariadenia, napríklad cookies, určené na legitímne účely, ako je uľahčenie poskytovania služieb informačnej spoločnosti, ich používanie by malo byť povolené pod podmienkou, že užívatelia majú jasné a presné informácie v súlade so smernicou 95/46/ES o účele cookies alebo podobných zariadení tak, aby bolo zabezpečené, že užívatelia sú si vedomí informácií, ktoré sa nachádzajú na ich koncovom zariadení, ktoré používajú. Užívatelia by mali mať možnosť odmietnuť, aby bolo cookies alebo podobné zariadenie uložené na ich koncovom zariadení. Toto je zvlášť dôležité, ak užívatelia, iní než pôvodní, majú prístup ku koncovému zariadeniu a tým k akýmkoľvek údajom obsahujúcim súkromne citlivé informácie uložené v takom zariadení. Informácie a právo odmietnuť môžu byť ponúknuté jednorazovo pre používanie rôznych zariadení inštalovaných na koncovom zariadení užívateľa počas toho istého spojenia a tiež pre každé ďalšie používanie týchto zariadení počas ďalších spojení. Metódy poskytovania informácií, ponuka práva na odmietnutie alebo vyžiadanie súhlasu by sa mali vykonať spôsobom, ktorý je pre užívateľa najvhodnejší; prístup k špecifickému webovému obsahu môže byť ešte stále podmienený vedomým akceptovaním cookies...[10]

Na Slovensku bola uvedená smernica implementovaná zákonom 351/2011 Z. z. o elektronických komunikáciách, ktorý v § 55, odseku 5 obsahuje tento text:

Každý, kto ukladá alebo získava prístup k informáciám uloženým v koncovom zariadení užívateľa, je na to oprávnený iba ak dotknutý užívateľ udelil súhlas na základe jasných a úplných informácií o účele ich spracovania; za súhlas na tento účel sa považuje aj použitie príslušného nastavenia webového prehliadača alebo iného počítačového programu.[11]

Slovenský zákon teda pokladá za súhlas s uložením cookies aj to, že užívateľ ich získavanie nezakázal vo svojom prehliadači. Tak či tak je poskytovateľ služieb povinný poskytnúť jasné a úplné informácie o účele ich spracovania. Niektorí slovenskí poskytovatelia teda už od roku 2015 zobrazujú užívateľovi informáciu o používaní cookies, ktorá žiada o súhlas ešte pred tým, než sa cookie uložia[12] a iní len na stránke informujú že používajú cookies a až na podstránke je možné zistiť podrobnejšie informácie (zásady používania cookies a pod.) Dôsledok je ten, že viacero webov zobrazuje oznam o použití cookies, ktorý možno odstrániť len potvrdením súhlasu tlačidlom umiestneným na ňom (mimochodom: aj táto funkcionalita zvyčajne používa cookies).

Typický oznam obsahuje text: “Na našej webovej stránke používame súbory cookies. Prezeraním našej webovej stránky súhlasíte s ich používaním a ukladaním do Vášho prehliadača. Ďalšie informácie o spôsobe používania súborov cookies môžete nájsť kliknutím na tlačidlo "Viac info"“[12]

Tento oznam neobsahuje možnosť používať stránku bez nutnosti ukladať jej cookie. Ak nebola celá stránka primerané prepísaná[13], potom aj bez explicitného vyjadrenia súhlasu a zatvorení tohto oznamu sa bude server pokúšať ukladať cookie u používateľa. Je to rovnaká situácia ako pred smernicou EÚ, keď sa weby nemuseli na cookies pýtať. Škodlivé webové sídlo (website) si nebude pýtať súhlas s používaním cookies. Ak máte podozrenie na zneužitie cookies najlepšie je daný web ani nenavštíviť.

Referencie

  1. Want to use my wifi? [online]. thejh.net, [cit. 2019-03-13]. Dostupné online.
  2. Čo sú osobné údaje? Čo je osobný údaj? Čo patrí medzi osobné údaje [online]. www.banos.sk, [cit. 2019-01-10]. Dostupné online.
  3. What is Java Update and how do I change the update schedule? [online]. www.java.com, [cit. 2018-01-26]. Dostupné online. (po anglicky)
  4. Typy súborov cookie, ktoré používa spoločnosť Google – Ochrana súkromia a Zmluvné podmienky – Google [online]. policies.google.com, [cit. 2018-06-07]. Dostupné online.
  5. RFC 2965 - HTTP State Management Mechanism [online]. IETF, 2000, [cit. 2018-01-26]. Dostupné online. (po anglicky)
  6. VRÁNA, Jakub. Zabezpečení session proměnných [online]. php.vrana.cz, 2005-07-01, [cit. 2018-01-26]. Dostupné online.
  7. Where does Chrome store cookies? [online]. Stack Overflow, [cit. 2019-03-13]. Dostupné online.
  8. BRATISLAVA, STU. Využívanie súborov cookies - Slovenská technická univerzita v Bratislave (STU) [online]. www.stuba.sk, [cit. 2018-10-03]. Dostupné online.
  9. ODKLADAL, Martin; KUBISOVÁ, Jana. Z lacných leteniek sa stali drahé. Odborník varuje pred manipulátormi. Aktuality.sk (Bratislava: Ringier Axel Springer Slovakia), 2018-01-15. Dostupné online [cit. 2018-01-26].
  10. Smernica Európskeho parlamentu a Rady 2002/58/ES z 12. júla 2002, týkajúca sa spracovávania osobných údajov a ochrany súkromia v sektore elektronických komunikácií (smernica o súkromí a elektronických komunikáciách) [online]. EUR-Lex, 2002-07-31, [cit. 2018-01-26]. Dostupné online.
  11. Zákon č. 351/2011 Z. z. o elektronických komunikáciách [online]. Bratislava : Ministerstvo spravodlivosti SR, 2011-09-14, [cit. 2018-01-26]. Dostupné online.
  12. Dodržujete “cookie” zákon? Je na čase.... Lemonweb, 2015-09-25. Dostupné online [cit. 2018-01-26].
  13. Voľby týkajúce sa súborov cookie spoločnosti Google [online]. www.cookiechoices.org, [cit. 2018-01-28]. Dostupné online.

Zdroj

Tento článok je čiastočný alebo úplný preklad článku HTTP cookie na českej Wikipédii.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.