07.01.2009 12:24
Kdo je On-line
· Hosté On-line: 2

· Členové On-line: 0

· Registrovaní členové: 142
· Nejnovější člen: LukePuke
Kdo je/byl ON-LINE
admin00:15:18
Kvetos02:21:05
Lubkokr02:51:26
Zitek15:48:01
Toura16:13:31
Olser. 1 den.
LukePuke. 1 den.
Pexa. 2 dny.
fifa. 2 dny.
Bernad. 3 dny.
©
Toplist
TOPlist
TOP
Reklama
Newsletter
Přihlášení
Jméno

Heslo



Nejste členem?
Klikněte sem
a zaregistrujte se.

Zapoměli jste heslo?
Pro zaslání nového
Klikněte sem.
Hyde Park - přehled
To jsou mi ale paradoxy!
Jako každý pátek jsem si koupil tištěné Lidovky a musím říct, že jsem nelitoval. Články v souvislosti s totálním kolapsem registrů aut dávají vzpomenout na komunistické fronty a označení Mirka Topolánka za konzervativce mne pobavilo, i když je to spíše k pláči.
Kategorie: Politika
Reklama
Změň vzhled!
Výběr:
Link - výměna
Počasí v Česku
INFO - videa

Čvančarová fotila kalendář


Nite Fite


Protest sociálních pracovníků
Anketa
TOP TV moderátoři?





















Aby jste mohli hlasovat, musíte být přihlášený.
BAN čtenářům
Musíte se přihlásit pokud chcete hlasovat.
PHP (54): Autentizace přes sessions proměnné
PHP

Po představení primitivní autentizace/autorizace uživatele z minulého dílu tentokrát o tom, jak bezpečněji tento proces ošetřit. Při autentizaci uživatele, vstupujícího na chráněné www stránky lze využít agregát tzv. sezení (sessions) proměnných. Ty sice částečně spolupracují se "sušenkami" cookies, avšak jejich mechanizmus je bezpečnější. Článek je úvodem do politiky sesions proměnných s ohledem na bezpečnost a anonymitu uživatele.

Co vlastně od dokonalé autentizace vyžadujeme? Předně je to důvěryhodnost, a ta je zde absolutní, jelikož sessions jsou podobné cookies, avšak všechny operace, které s nimi provádíme jsou výlučně vestavěny do kódu PHP. To je jejich významná vlastnost. Takže agregát sesions proměnných cookies nijak neovlivňují!

Sesions proměnné jsou diskrétní!

Prostřednictvím sessions (česky - "sezení", myšleno u internetu) tvoří jejich proměnné na cestě uživatel - server pouze náhodný textový řetězec/číslo. Je to velmi dlouhé jedinečné číslo tvořeno také písmeny. To je určeno k identifikaci uživatele, který vstupuje na chráněnou www stránku. Tedy maximální důraz na diskrétnost! Vždy, když uživatel vstoupí na stránku, kde dochází k aktivaci sessions, systém mu ihned přidělí unikární identifikační číslo. Data uživatele, např. o navštívených stránkách, jménu uživatele, vstup do e-shopu apod., jsou ukládana výhradně do databáze na serveru, takže je nikdo nepovolaný neuvidí. Platnost sesions pak končí momentem uzavření www stránky v prohlížeči uživatele.

Funkce "sesion_start"

V praxi to chodí tak, že na stránce, která má být chráněna, zcela na jejím začátku nahoře umístíme funkci session_start. Ta se postará o to, že identifikuje od uživatele existenci session (sezení). Pokud je najde dokíže nám zpřístupnit uložená data na serveru (v databázi, nebo pouze v paměti. Pokud se to nepodaři, dokáže vytvořit nové session (sezení) a pošle uživateli (ted již za pomoci cookies) unikátní identifikační číslo. Abychom nemuseli vždy na začátku takových chráněných stránek "sesuin_start" umísťovat, lze na serveru v konfiguračním souboru php.ini provést menší úpravu. Totiž v direktivě session.auto_start nastavit proměnnou na hodnotu 1 a tím vytvořit automatické volání funkce "sesion_start".

<?php
//session1.php
session_start();
session_register("username");
session_register("surname");
$username="prvni_jmeno";
$surname="druhe_jmeno";
echo "Byl vytvořen session ID:$PHPSESSID";
?>

K tomuto kódu upozorňuji, že vy, kteří pracujete s Windows, se nejprve podívejte, zda na svém PC máte ve Windows, instalaci PHP/php.ini, direktivu session_save_path nastavenou na složku tmp. Jinak nebudou mít data své místo a volání "session_start" skončí chybou! Viz.: PHP (4): Aktivace sessions. A také zde: PHP (11): Warning pro sessions.

Resumé

Ti, keří tuto problematiku dobře ovládají, tento text už jistě nečtou. Pro ostatní by výklad mohl stačit. Bude pokračovat v dalším díle, neboť tato teorie nepatří zrovna k nejlehčím. A tak je nutné si popis ujasnit, případně vyzkoušet. Zvu vás na další pokračování tohoto seriálu o autentizaci uživatele na chráněné webové stránky. Jinými slovy - jak si sami vyrobíte takovou autentizaci/autorizaci, vhodnou třeba pro E-shop a vůbec bezpečný přístup na webové stránky, na nichž vám záleží.

Autor: Květoslav Vícha


Komentáře
#1 | Bernad dne 18.09.2008 12:24
Skript session1.php funguje, ale nezobrazí se mi řetězec toho session. Jak to?
#2 | grabdos dne 18.09.2008 13:49
-nemáš nastaveno v php.ini "TMP" adresář
-tvůj poskytovatel webhostingu má vypnuté "session_start"Grin
#3 | king dne 18.09.2008 14:11
Kdybys četl zde další články o session, tak budeš v.o. Fakt, to je banální otázka!
#4 | Bernad dne 18.09.2008 14:25
Ty jsi fakt king, každý není tak chytrej jak ty<>
#5 | adastyl dne 18.09.2008 14:28
Zkuste si to nejprve na localhostu. Tam to musí jít, navíc phpini lehce nastavíte. Pak teprve experimentuje na vzdáleném webu.
Přidat komentář
Aby jste mohli přidávat komentáře, musíte být přihlášený.