HTTP cookie
Cookies zvyčajne slúžia na rozlišovanie jednotlivých užívateľov. Ukladajú sa do nich 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. Cookies majú viaceré výhody ale môžu byť aj zneužité na nepriame 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.
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.
Java[1] delí cookies na 3 kategórie a Google na 6 kategórií[2]. Názvy kategórii v nasledovnom zodpovedajú Java a názvy Google sú v zátvorke šikmým písmom:
- 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
- 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
- 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[3]
- Aspoň 4 KiB na dáta jednej cookie
- Aspoň 20 cookies na doménu[4]
- Ak niektoré prehliadače nemôžu prijať väčší cookie, nesmie “orezať” jeho obsah, ale neprijať ho vôbec
Cookies sa ukladajú na strane klienta (užívateľa) ako krátke zvyčajne textové súbory (napr. Pre Internet Explorer vo Windows XP do adresára c:Documents and SettingsMeno používateľa Cookies) a to pre každé webové sídlo (website).
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:[3]
- 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 hodnota 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. [5]
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.
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 ceny.[6] 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>AppDataLocalGoogleChromeUser DataDefault 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. 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é ak webový prehliadač nie je proti nim odolný (zle nastavený alebo nechránený).
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 nefunguje bez cookies. Nefungujú len služby, pre ktoré sú cookies nevyhnutné.
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…[7]
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.[8]
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[9] 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”“[9]
Tento oznam neobsahuje možnosť používať stránku bez nutnosti ukladať jej cookie. Ak nebola celá stránka primerané prepísaná[10], 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
- Prejsť nahor ↑ What is Java Update and how do I change the update schedule? [online]. www.java.com, [cit. 2018-01-26]. Dostupné online. (po anglicky)
- Prejsť nahor ↑ 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.
- ↑ Prejsť nahor k: a b RFC 2965 – HTTP State Management Mechanism [online]. IETF, 2000, [cit. 2018-01-26]. Dostupné online. (po anglicky)
- Prejsť nahor ↑ VRÁNA, Jakub. Zabezpečení session proměnných [online]. php.vrana.cz, 2005-07-01, [cit. 2018-01-26]. Dostupné online.
- Prejsť nahor ↑ BRATISLAVA, STU. Využívanie súborov cookies – Slovenská technická univerzita v Bratislave (STU) [online]. www.stuba.sk, [cit. 2018-10-03]. Dostupné online.
- Prejsť nahor ↑ 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].
- Prejsť nahor ↑ 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.
- Prejsť nahor ↑ 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.
- ↑ Prejsť nahor k: a b Dodržujete “cookie” zákon? Je na čase…. Lemonweb, 2015-09-25. Dostupné online [cit. 2018-01-26].
- Prejsť nahor ↑ Voľby týkajúce sa súborov cookie spoločnosti Google [online]. www.cookiechoices.org, [cit. 2018-01-28]. Dostupné online.