Vytvorenie a správa cookies v PHP

V súčasnom digitálnom svete sú cookies neoddeliteľnou súčasťou webového prehliadania. Súbory cookie sú v podstate malé dátové balíčky, ktoré si váš prehliadač ukladá, keď navštívite webovú stránku. Slúžia na to, aby si webová stránka zapamätala informácie o vás, ako napríklad vaše prihlasovacie údaje, nastavenia alebo predchádzajúce aktivity.

Schéma fungovania cookies medzi prehliadačom a serverom

Čo sú súbory cookie a ako fungujú?

Cookie je krátky textový súbor, ktorý navštívená webová stránka odosiela do prehliadača. Súbory cookies vznikli v 90. rokoch 20. storočia ako reakcia na potrebu stránok pamätať si informácie o užívateľovi. Cookie je vlastne typ premennej, ktorá je špecifická pre vás ako užívateľa. Súbory cookie sa ukladajú v prehliadači používateľa a obsahujú jednoduché údaje, ako je napríklad meno používateľa alebo preferovaný jazyk.

Existujú rôzne typy cookies:

  • Session cookies: Sú dočasné a vymažú sa, keď zatvoríte prehliadač.
  • Persistent cookies: Zostávajú vo vašom počítači aj po zatvorení prehliadača a používajú sa na zapamätanie si preferencií pre budúce návštevy.
  • Cookies prvej strany: Nastavuje ich webová stránka, ktorú priamo navštevujete.
  • Cookies tretích strán: Nastavujú iné domény, často na sledovanie aktivity alebo zobrazovanie reklamy.

Vytvorenie cookie v PHP

Na vytvorenie cookie v PHP sa používa funkcia setcookie(). Táto funkcia odosiela súbor cookie zo servera do prehliadača klienta, kde sa uloží. Je nevyhnutné, aby sa táto funkcia volala pred odoslaním akéhokoľvek výstupu do prehliadača, pretože na nastavenie súboru cookie používa hlavičky HTTP.

Parametre funkcie setcookie()

Funkcia setcookie(string $name, string $value = "", int $expires = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool umožňuje definovať nasledujúce parametre:

  1. name: Názov súboru cookie (povinný parameter).
  2. value: Hodnota priradená k súboru cookie.
  3. expire: Čas vypršania platnosti cookie. Ak nie je nastavený, platnosť vyprší po skončení relácie.
  4. path: Cesta na serveri, kde bude cookie dostupná (napr. "/" pre celú doménu).
  5. domain: Doména, pre ktorú je cookie platná.
  6. secure: Ak je true, cookie sa prenáša iba cez zabezpečené pripojenie HTTPS.
  7. httponly: Ak je true, cookie je prístupná iba cez protokol HTTP, čo zabraňuje skriptom na strane klienta (napr. JavaScript) v prístupe k nej.

27: Relácia a súbory cookie v PHP | Tutoriál PHP | Naučte sa programovať v PHP | PHP pre začiatočníkov

Práca s cookies a získavanie dát

Po nastavení cookie môžete pristupovať k jej hodnote pomocou superglobálnej premennej $_COOKIE. Ide o asociatívne pole, kde kľúčom je názov cookie.

Príklad vytvorenia a čítania cookie:

<?php$cookie_name = "user";$cookie_value = "Janko Hraško";// Nastavenie cookie na 30 dnísetcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");if(!isset($_COOKIE[$cookie_name])) { echo "Cookie '" . $cookie_name . "' nie je nastavená!";} else { echo "Hodnota cookie: " . $_COOKIE[$cookie_name];}?>
Akcia PHP kód
Vytvorenie cookie setcookie("meno", "hodnota", time() + 3600);
Čítanie cookie echo $_COOKIE["meno"];
Odstránenie cookie setcookie("meno", "", time() - 3600);

Bezpečnosť a legislatíva

Súbory cookie nie sú prirodzene bezpečné, preto sa odporúča používať príznaky secure a httponly. Je tiež dôležité mať na pamäti nariadenie GDPR. Od februára 2022 musia prevádzkovatelia webov získať výslovný a informovaný súhlas používateľa na zhromažďovanie cookies, ktoré nie sú striktne technicky nevyhnutné. Používateľovi musí byť umožnené jednoduchým spôsobom vybrať, aké typy cookies o ňom môžete zbierať.

Ak chcete cookie odstrániť, nedá sa to urobiť priamo príkazom unset() v prehliadači. Používa sa na to trik: sušienke sa nastaví čas vypršania platnosti do minulosti, vďaka čomu ju prehliadač automaticky odstráni.

tags: #vzytvorenie #cookie #v #php

Populárne príspevky: