Práca so SESSIONs v PHP
V čom spočíva rozdiel COOKIES a SESSION? Hlavný rozdiel medzi je ten, že COOKIES sa ukladajú u klienta a SESSION na webovom serveri. To čo je ukladané u klienta (COOKIEs) je potenciálne nebezpečné. V prípade údajov ukladaných na strane užívateľa platí, že to čo prehliadač prijme môže byť uložené, zmenené a poslané naspať. Tento fakt môže spôsobiť nemalé problémy hlavne tam kde používame COOKIEs namiesto SESSION. Preto si treba uvedomiť kde a kedy použiť SESSION alebo COOKIES.
Používanie SESSION premenných
SESSION k svojmu správnemu fungovaniu využíva COOKIEs. Samotná relácia je riadená priradeným popisovačom, čo je vlastne PHP ID (zašifrované náhodné číslo ktoré je uložené u klienta ako COOKIEs), to odkazuje na SESSION uložené na serveri.
Teraz zahájime reláciu. Čo pod týmto pojmom máme rozumieť? Dáme vedieť serveru, že ideme používať SESSION a to tak, že na začiatku PHP skriptu napíšeme session_start(); . Môžeme tiež v PHP.INI zapnúť direktívu SESSION.AUTO_START ktorá zabezpečí, že relácia bude automaticky spustená po prístupe na stránku.
Teraz si vytvoríme jednoduchú SESSION. Ale pozor: na začiatku skriptu musí byť session_start()!
-
$_SESSION[‘meno’]="Michal";
Ako ste si mohli všimnúť, používame premennú $_SESSION, keď chceme vytvoriť SESSION, ale (ako si o chvíľu ukážeme) aj keď z neho chceme čítať. Príklad:
Prakticky to bude fungovať takto:
-
$_SESSION[‘premenna’]=‘hodnota’;
Premenná bude platná, pokým nevyprší doba platnosti podľa nastavenia servera a ktorom stránka beží alebo pokiaľ neukončíme reláciu manuálne keď ju už nebudeme potrebovať (napríklad odhlásenie užívateľa).
Zničenie SESSION
Doba platnosti SESSION býva často dlhšia ako je na prácu s reláciou nutné a preto si ukážeme ako ju ukončíme manuálne. Keď vieme, že už session premennú nepotrebujeme, použijeme na odstránenie funkciu unset(), napríklad:
Následne by sme mali použiť funkciu session_destroy() ktorá úplne odstráni ID relácie a tým aj celú reláciu zo servera.
Pri práci so SESSION budete skôr či neskôr potrebovať overiť existenciu relácie napríklad overenie, či užívateľ je prihlásený). Na overenie existencie premennej SESSION môžeme použiť funkcie isset() alebo empty().
V tomto článku sme si ukázali základy práce so SESSION. Treba si ale uvedomiť, že aj keď sú SESSION ukladané na serveri treba dbať na bezpečnosť a preto NIKDY nepoužívajte ako identifikátor relácie alebo jeho hodnotu svoj nick či heslo (pri overovaní totožnosti užívateľa). Ak ho musíte použiť, tak určite v zaheshovanej podobe ktorá by pri nejakom odcudzení do rúk hackera nepodávala žiadnu informáciu, ktorú by hacker mohol zneužiť.


dik za info , idem robit prihlasovanie a potrebujem info o kazdej maickosi aby som sa vyvaroval chybam .