Vytvorenie Cookie v PHP: Podrobný návod

Rate this post

V dnešnom digitálnom svete sú cookies neoddeliteľnou súčasťou webového prehliadania. Používajú sa na rôzne účely, od zapamätania si používateľských preferencií až po sledovanie aktivity používateľov na webových stránkach. Tento článok poskytuje podrobný návod na vytváranie cookies v PHP, populárnom skriptovacom jazyku používanom na vývoj dynamických webových stránok.

Čo sú cookies?

Cookie je krátky textový súbor, ktorý navštívená webová stránka odosiela do prehliadača. Umožňuje webu zaznamenať informácie o vašej návšteve, napríklad preferovaný jazyk a ďalšie nastavenia. Nasledujúca návšteva stránok tak môže byť jednoduchšia a produktívnejšia. Súbory cookie sú dôležité. Pixelové značky, známe aj pod označením web beacons, sú malé obrázky s podobnou funkciou ako súbory cookies. Na rozdiel od súborov cookies sú pixelové značky pevnou súčasťou webových stránok.

Účel cookies

Súbory cookie slúžia na množstvo účelov. Používame ich na nastavenie obsahu webových stránok vzhľadom na preferencie používateľa a optimalizáciu využitia webových stránok. Takisto sa používajú na vytvorenie anonymných, súhrnných štatistických údajov, ktoré pomáhajú analyzovať, akým spôsobom používateľ používa webové stránky. Používame niekoľko typov cookies, naše vlastné aj externé súbory získané od partnerov, s ktorými spolupracujeme.

  • Analytické cookies: Zbierajú informácie o tom, ako používateľ využíva webovú stránku, o type webovej stránky, z ktorej bol návštevník presmerovaný, o počte návštev používateľa a o štatistikách webovej stránky.
  • Dynamické cookies: Používajú sa na uloženie informácií o reláciách. Súbory s informáciami o reláciách umožňujú navádzanie po webovej stránke bez toho, aby používateľ musel zadávať rovnaké informácie, ktoré už predtým zadal.
  • Technické alebo funkčné cookies: Niektoré súbory cookie zaisťujú, že určité časti webových stránok fungujú správne a že vaše preferencie používateľov zostanú známe. Umiestnením funkčných súborov cookie vám uľahčujeme návštevu našich webových stránok. Takto nemusíte pri návšteve našich webových stránok opakovane zadávať rovnaké informácie a napríklad položky zostanú vo vašom nákupnom košíku, kým nezaplatíte. Tieto súbory cookie môžeme umiestňovať bez vášho súhlasu.
  • Štatistické cookies: Štatistické súbory cookie používame na optimalizáciu zážitku z webových stránok pre našich používateľov. Vďaka týmto štatistickým súborom cookie získavame prehľad o používaní našich webových stránok. Žiadame vás o povolenie umiestňovať štatistické súbory cookie.
  • Reklamné cookies: Na tomto webe používame reklamné cookies, ktoré nám umožňujú získať prehľad o výsledkoch kampane. Vďaka týmto súborom cookie ste ako návštevník webových stránok prepojení s jedinečným identifikátorom, ale tieto súbory cookie nebudú profilovať vaše správanie a záujmy pri zobrazovaní prispôsobených reklám.
  • Marketingové/sledovacie cookies: Marketingové/sledovacie súbory cookie sú súbory cookie alebo akákoľvek iná forma miestneho úložiska, ktoré sa používajú na vytváranie profilov používateľov na zobrazenie reklamy alebo na sledovanie používateľa na tomto webe alebo na niekoľkých webových stránkach na podobné marketingové účely.

Ako cookies fungujú?

Cookie je malý jednoduchý súbor, ktorý je odoslaný spolu so stránkami tohto webu a uložený vašim prehliadačom na pevnom disku vášho počítača alebo iného zariadenia. Informácie v nich uložené môžu byť vrátené na naše servery alebo na servery príslušných tretích strán počas nasledujúcej návštevy. Skript je časť programového kódu, ktorý sa používa na správnu a interaktívnu funkciu našich webových stránok. Tento kód sa spustí na našom serveri alebo na vašom zariadení. Webový maják (alebo pixelová značka) je malý neviditeľný text alebo obrázok na webovej stránke, ktorý sa používa na monitorovanie návštevnosti webových stránok. Za týmto účelom sa pomocou webových majákov ukladajú rôzne údaje o vás.

Vytvorenie cookie v PHP

Na vytvorenie cookie v PHP sa používa funkcia setcookie(). Táto funkcia má nasledujúcu syntax:

Prečítajte si tiež: Informácie o cookies

setcookie(string $name, string $value = "", int $expires = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool
  • $name: Názov cookie. Toto je povinný parameter.
  • $value: Hodnota cookie.
  • $expires: Čas vypršania platnosti cookie. Toto je časové razítko (timestamp) udávajúce, kedy má cookie vypršať. Ak je tento parameter nastavený na 0, cookie vyprší na konci relácie prehliadača.
  • $path: Cesta, pre ktorú je cookie platná. Ak je tento parameter nastavený na "/", cookie je platná pre celú doménu.
  • $domain: Doména, pre ktorú je cookie platná.
  • $secure: Určuje, či sa má cookie prenášať iba cez zabezpečené pripojenie HTTPS.
  • $httponly: Ak je nastavené na TRUE, cookie bude prístupná iba cez HTTP protokol. To znamená, že cookie nebude prístupná pre skripty, ako napríklad JavaScript, čo pomáha zmierniť riziko krádeže cookie cez XSS útoky.

Príklad vytvorenia cookie

Nasledujúci príklad ukazuje, ako vytvoriť cookie s názvom "meno_pouzivatela" s hodnotou "Janko Hrasko", ktorá vyprší o 30 dní:

<?php$cookie_name = "meno_pouzivatela";$cookie_value = "Janko Hrasko";$expiration = time() + (30 * 24 * 60 * 60); // 30 dnísetcookie($cookie_name, $cookie_value, $expiration, "/");?><!DOCTYPE html><html><head><title>Vytvorenie Cookie</title></head><body><?phpif(!isset($_COOKIE[$cookie_name])) { echo "Cookie s názvom '" . $cookie_name . "' nie je nastavená!";} else { echo "Cookie '" . $cookie_name . "' je nastavená!<br>"; echo "Hodnota je: " . $_COOKIE[$cookie_name];}?></body></html>

V tomto príklade:

  1. Definujeme názov cookie ($cookie_name) a jej hodnotu ($cookie_value).
  2. Vypočítame čas vypršania platnosti cookie na 30 dní od aktuálneho času.
  3. Použijeme funkciu setcookie() na vytvorenie cookie s určenými parametrami. Parameter $path je nastavený na "/", čo znamená, že cookie bude dostupná pre celú webovú stránku.
  4. Nasledujúci kód kontroluje, či je cookie nastavená. Ak cookie existuje, zobrazí jej názov a hodnotu. V opačnom prípade zobrazí správu, že cookie nie je nastavená.

Práca s cookies

Získanie hodnoty cookie

Na získanie hodnoty cookie sa používa globálna premenná $_COOKIE. Táto premenná je asociatívne pole, kde kľúčom je názov cookie a hodnotou je hodnota cookie.

<?phpif(isset($_COOKIE["meno_pouzivatela"])) { $meno = $_COOKIE["meno_pouzivatela"]; echo "Vitaj, " . $meno . "!";} else { echo "Vitaj, hosť!";}?>

Odstránenie cookie

Na odstránenie cookie je potrebné nastaviť jej čas vypršania platnosti do minulosti.

<?php$cookie_name = "meno_pouzivatela";setcookie($cookie_name, "", time() - 3600, "/");?>

V tomto príklade nastavíme čas vypršania platnosti cookie "meno_pouzivatela" na hodinu v minulosti, čím sa cookie odstráni.

Prečítajte si tiež: Sprievodca nastavením cookies na Androide

Používanie cookies a ochrana osobných údajov (GDPR)

Pri používaní cookies je dôležité dodržiavať nariadenie GDPR (General Data Protection Regulation). Zbieranie osobných údajov na marketingové účely je možné len pod podmienkou, že ste používateľa o zbieraní informácii pomocou cookies informovali a získali jeho súhlas.

Preto je pri tvorbe webových stránok nevyhnutné:

  1. Informovať používateľov o používaní cookies: Uistite sa, že vaša webová stránka obsahuje jasné a zrozumiteľné informácie o tom, aké cookies používate, na aké účely a ako môžu používatelia spravovať svoje preferencie.
  2. Získať súhlas používateľov: Pred umiestnením cookies, ktoré sledujú osobné údaje, je potrebné získať súhlas používateľa. To sa zvyčajne robí pomocou kontextového okna alebo lišty, ktorá informuje o používaní cookies a umožňuje používateľovi vybrať si, ktoré cookies povolí.
  3. Umožniť používateľom spravovať svoje preferencie: Používatelia by mali mať možnosť kedykoľvek zmeniť svoje nastavenia súhlasu s používaním cookies. To znamená, že by mali mať možnosť povoliť alebo zakázať jednotlivé kategórie cookies.
  4. Zabezpečiť anonymizáciu údajov: Ak je to možné, snažte sa anonymizovať údaje, ktoré zbierate pomocou cookies. To znamená, že by ste mali odstrániť alebo maskovať akékoľvek informácie, ktoré by mohli identifikovať konkrétneho používateľa.

Nastavenia súhlasu so súbormi cookie

Keď navštívite náš web prvýkrát, ukážeme vám kontextové okno s vysvetlením o súboroch cookie. Akonáhle kliknete na „Uložiť nastavenie“, súhlasíte s tým, že použijeme kategórie súborov cookie a doplnkov, ktoré ste vybrali v kontextovom okne, ako je to popísané v týchto zásadách používania súborov cookie. Používanie súborov cookie môžete zakázať prostredníctvom svojho prehliadača, ale upozorňujeme, že náš web už nemusí správne fungovať. Váš internetový prehliadač môžete použiť na automatické alebo manuálne mazanie cookies. Môžete tiež špecifikovať, že niektoré súbory cookie nemusia byť umiestnené. Ďalšou možnosťou je zmeniť nastavenia svojho internetového prehliadača tak, aby ste dostali správu vždy, keď sa umiestni súbor cookie. Ďalšie informácie o týchto možnostiach nájdete v pokynoch v časti Pomocník vášho prehliadača.

Správa nastavení súhlasu

Na stránkach AMP môžete použiť tlačidlo Spravovať súhlas v spodnej časti stránky. Pokiaľ cookies vymažete vo svojom prehliadači, budú znova umiestnené po vašom súhlase, keď znova navštívite naše webové stránky.

Typy súborov cookie používané touto webovou stránkou

V nasledujúcich sekciách textu rozlišujeme medzi „súbormi cookie prvej strany“, ktoré sú nastavené spoločnosťou ESET, a „súbormi cookie tretích strán“, ktoré vytvárajú partneri spoločnosti ESET. Našimi partnermi sú tretie strany, ktoré nám poskytujú externé služby pre našu webovú stránku, zvyčajne ide o analytické alebo marketingové služby. Okrem toho rozlišujeme aj medzi „relačnými“ súbormi cookie, ktorých platnosť je obmedzená na trvanie vašej relácie na našej webovej stránke, a „trvalými“ súbormi cookie, ktoré sa v prehliadači ukladajú na dlhšie časové obdobie (ako je uvedené nižšie), aby ich naša stránka mohla prečítať pri vašej ďalšej návšteve. Nastavenia súborov cookie tretích strán spravujú tretie strany.

Prečítajte si tiež: Ako upiecť cookies s bielou čokoládou

Základné súbory cookie

Tieto súbory cookie prvej strany sú nevyhnutné na správne fungovanie a zabezpečenie našej webovej stránky a požadovaných služieb. Zvyčajne sa nastavia na základe vašej akcie a umožňujú využívanie funkcií, ako je napríklad zapamätanie si preferencií pre cookies, prihlásenie sa či uloženie položiek v nákupnom košíku. Stránka si vyžaduje súhlas s týmito súbormi cookie, ich blokovanie v prehliadači môže ovplyvniť funkčnosť nášho webu.

  • __cf_bm: Tento súbor cookie je potrebný na podporu riešenia Cloudflare Bot Management, ktoré je v súčasnosti v súkromnej beta verzii. Ako súčasť našej služby na správu botov pomáha spravovať prichádzajúcu sieťovú komunikáciu, ktorá spĺňa kritériá spájané s botmi.
  • AKA_A2: Tento súbor cookie vo všeobecnosti poskytuje spoločnosť Akamai a používa sa vo funkcii pokročilej akcelerácie, ktorá umožňuje predbežné načítavanie servera DNS a HTTP2 Push.
  • eset_branch: Používa sa na zapamätanie preferovaného jazyka vybratého na stránke www.eset.com.
  • eset_cookie-bar: Tento súbor cookie sleduje a pamätá si preferencie používateľa v súvislosti so zásadami používania súborov cookie.
  • PHPSESSID: Súbor cookie vygenerovaný aplikáciami založenými na jazyku PHP. Ide o identifikátor na všeobecné účely, ktorý udržiava premenné relácie používateľa. Väčšinou ide o náhodne vygenerované číslo a spôsob použitia môže závisieť od webu.

Základné analytické súbory cookie

Tieto súbory cookie prvej strany nám umožňujú merať počet návštevníkov/používateľov našej webovej stránky. Niektoré zhromaždené údaje, ktoré nie sú citlivé (ako napríklad krajina, prehliadač a typ zariadenia, IP adresa s anonymizovanými poslednými tromi číslicami a ID súborov cookie používateľa, ktoré je v prípade príslušnej webovej stránky jedinečné), zdieľame s našimi dôveryhodnými partnermi, s pomocou ktorých vytvárame agregované štatistiky používania a výkonnosti. Tieto súbory cookie používame na to, aby sme získali základný prehľad o návštevnosti nášho webu a účinnosti našich kampaní. Keďže sa pomocou týchto súborov cookie dajú vykonávať iba analýzy na nízkej úrovni a keďže neumožňujú sledovanie medzi webovými stránkami ani profilovanie návštevníkov našich stránok, v prehliadači sú predvolene zapnuté, pokiaľ ich nevypnete. Ak sa ich rozhodnete vypnúť, budeme mať veľmi obmedzené možnosti monitorovania výkonnosti našej webovej stránky a kampaní.

  • _ga: Tento súbor cookie uchováva jedinečné ID návštevníka webovej stránky a sleduje, ako pracuje so stránkou. Údaje sa používajú na štatistické účely.
  • _ga_***: Tento súbor cookie zaznamená jedinečné ID návštevníka webovej stránky a sleduje, ako pracuje so stránkou. Údaje sa používajú na štatistické účely.
  • _gat_***: Tento súbor cookie je nastavený nástrojom Google Analytics na kontrolovanie počtu požiadaviek.
  • _gid: Tento súbor cookie zaznamená jedinečné ID návštevníka webovej stránky a sleduje, ako pracuje so stránkou. Údaje sa používajú na štatistické účely.

Rozšírené analytické súbory cookie

Tieto súbory cookie prvej alebo tretej strany nám poskytujú prehľad o tom, ako návštevníci pracujú s webovou stránkou a ponúkanými službami, a to vďaka rozširovaniu našich dát o údaje z nástrojov tretích strán. Používame ich na zlepšovanie nášho webu, služieb a používateľského prostredia, na hľadanie a riešenie chýb či iných súvisiacich problémov, ako aj na vyhodnocovanie účinnosti našich kampaní. Tieto súbory cookie budú uložené vo vašom prehliadači len v prípade, že nám udelíte súhlas s ich používaním. Ak sa rozhodnete analytické súbory cookie neodsúhlasiť, budeme mať obmedzené možnosti monitorovania výkonnosti našej stránky a kampaní.

  • _clck: V prehliadači uchováva ID používateľa služby Clarity, ako aj predvoľby, ktoré sú jedinečné pre danú webovú stránku. Zhromaždené atribúty sa uložia na servery spoločnosti Hotjar iba vtedy, ak používateľ použije nástroj Hotjar Feedback. Nastaví sa, keď používateľ použije externý odkaz na pozvánku na prieskum. Zabezpečuje, že sa rovnaká pozvánka nezobrazí dvakrát. Nastaví sa, keď používateľ dokončí prieskum na webovej stránke. Ak áno, nastaví sa hodnota 1. Nastaví sa, keď používateľ minimalizuje prieskum na webovej stránke. Nastaví sa, keď sa spustí nahrávanie. Nachádza sa v úložisku relácie namiesto časti so súbormi cookie. Ak je k dispozícii a spoločnosť Hotjar zabránila relácii pripojiť sa k nášmu serveru WebSocket z dôvodu preťaženia, počas trvania relácie používateľa je nastavený na hodnotu 1. Skutočnosť, či veľkosť relácie prekračuje limit, sa zisťuje automaticky pomocou signálu zo servera WebSocket. Súbor cookie _hjTLDTest sa snažíme uložiť na rôzne alternatívy podreťazca URL adresy, kým nedôjde k zlyhaniu. Vďaka tomu sa môžeme pokúsiť určiť najgenerickejšiu cestu k súboru cookie, ktorú môžeme použiť namiesto názvu hostiteľa stránky. To znamená, že súbory cookie sa dajú zdieľať v rôznych subdoménach (ak je to relevantné). Atribúty používateľa odoslané prostredníctvom rozhrania Hotjar Identify API sú počas trvania relácie uložené vo vyrovnávacej pamäti. Clarity ANID nepoužíva, a tak je hodnota vždy 0.
  • CLID: Identifikuje pomocou služby Clarity, kedy služba Clarity prvýkrát zaznamenala tohto používateľa na ľubovoľnej webovej stránke.
  • MR: Označuje, či sa má identifikátor MUID obnoviť.
  • MUID: Identifikuje jedinečné webové prehliadače, ktoré navštevujú webové stránky spoločnosti Microsoft. Tieto súbory cookie sa používajú na reklamné účely, analýzy webovej stránky a ďalšie prevádzkové účely.
  • SM: Používa sa na synchronizáciu identifikátora MUID v doménach spoločnosti Microsoft.

Marketingové súbory cookie

Tieto súbory cookie tretích strán umožňujú našim marketingovým partnerom sledovať niektoré činnosti na našej stránke, napríklad keď si sťahujete alebo kupujete náš produkt. Prepájaním takýchto údajov partneri vytvoria profil zodpovedajúci vašim záujmom, preferenciám a potrebám, aby vám následne vedeli zobrazovať relevantné reklamy na iných weboch. Marketingové súbory cookie budú uložené vo vašom prehliadači len v prípade, že nám udelíte súhlas s ich používaním. Ak sa ich rozhodnete neodsúhlasiť, bude sa vám zobrazovať menej cielená online reklama.

  • __gads: Tento súbor cookie sa spája so službou DoubleClick for Publishers od spoločnosti Google. Môže sa používať aj na zaznamenávanie interakcie a preferencií používateľa v kombinácii so zvukovým obsahom. Môže slúžiť na štatistické a marketingové účely.
  • uxt-identity: Súbor cookie nástroja UXtweak sa nastaví pri prvom stiahnutí zberného skriptu UXtweak (spoločného pre nahrávanie relácií a testovanie webových stránok).