Autor Zpráva
Kubo2
Profil
Čítal som blog Michala Tomanócziho, v ktorom písal o jednoduchom prihlasovaní, a v kóde som natrafil na toto:
 if($heslo == $row[0])
   {
$_SESSION['prihlaseny'] = "ano";
echo $login;
   }
else
   {
echo $neuspech;
die;
   };
V podstate tomu rozumiem, ale chcel by som sa spýtať, prečo sa prihlásenie uloží do $_SESSION ?
Logicky mi to nejak nejde do hromady, lebo tých sessions (takých istých) môže (a myslím že aj je) byť na serveri po prihlásení tisíc užívateľov veľa! Nechápem, ako pre konkrétneho užívateľa session rozlíšime medzi tisíc ďaľšími rovnakými! Logicky mi vychádza, že na konkrétnom serveri je potom akokeby prihlásený každý alebo nikto .
Prosím, vie mi to niekto vysvetliť ?
1Pupik1989
Profil
Jednoduché, session se totiž neukládá na serveru, ale v prohlìžeči.

Edit:// jsem si to spletl s cookies. Ty ale vlastně mají počátek taky na serveru.
Kubo2
Profil
Tak teraz nerozumiem, nie náhodou $_COOKIE sa ukladá v prehliadači?


A sorry, vtej adrese predtým som zamenil v za u, tak nefunguje. Táto je správna: Blog Michala Tomanócziho
Joker
Profil
1Pupik1989:
session se totiž neukládá na serveru, ale v prohlìžeči.
To není pravda, session se ukládá na serveru.

Kubo2:
Nechápem, ako pre konkrétneho užívateľa session rozlíšime medzi tisíc ďaľšími rovnakými!
Jednoduše, každý uživatel má svoji session.

Při založení session (česky relace) server vytvoří unikátní identifikátor relace (session id) a pošle ho klientovi.
Klient ho pak s každým požadavkem posílá serveru, obvykle tak, že ho má uložený v cookie.
Jestli v prohlížeči máte nástroj na prohlížení cookies ke stránce, dostaňte se na webu do stavu kdy bude založená session a pak se podívejte na cookies. Nejspíš tam bude „PHPSESSID“
Server si tedy pamatuje data session a k jakému session id patří. Klient má session id.

Konkrétního návštěvníka server sám o sobě nerozlišuje (nemá jak), takže kdyby se uživatel A přihlásil a založil relaci a uživatel B zjistil její id a poslal ho serveru, opravdu by převzal relaci uživatele A. Toto se používá i při hackování a aplikace by proti tomu měla být zabezpečena (například tak, že si v session drží třeba IP adresu ze které byla session založena, nebo i jiné údaje, a pokud se tyto změní, session se ukončí).
Kubo2
Profil
Joker:
například tak, že si v session drží třeba IP adresu, ze které byla session založena, nebo i jiné údaje

Joker, prosím Ťa, ako mám získať užívateľovu IP adresu? Je na to nejaký php príkaz?
Joker
Profil
Kubo2:
ako mám získať užívateľovu IP adrsu?
Údaje o klientovi zaslané na server jsou (kromě dalších údajů) v $_SERVER.
Konkrétně ta IP adresa je $_SERVER['REMOTE_ADDR'] (Ale pokud návštěvník jde přes router/proxy, bude tam adresa routeru/proxy).
Jaké další informace jsou v $_SERVER k dispozici můžete zjistit přes var_dump($_SERVER)
Alphard
Profil
Joker:
například tak, že si v session drží třeba IP adresu ze které byla session založena
To neříkej ani nahlas, nechci být všude odhlášen jen proto, že přejdu přes chodbu a jsem v jiné síti.

Kubo2:
Radši se zaměřte na prohlížeč, systém apod. Kontrolu IP adresy bych nechal na kritické aplikace, kde jde třeba o peníze.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: