Jednoznačná identifikace nepřihlášeného uživatele

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Bernard Williams
Člen | 207
+
0
-

Nazdárek,

právě řeším problém, jak jednoznačně identifikovat uživatele, který není přihlášený. Metoda getId se použít nedá, protože se toto ID může změnit při každém requestu.

Jak takový problém tedy řešíte? Jak bezpečně identifikovat nepřihlášeného uživatele? Např. v e-shopu nebo v jiné aplikaci, kde provádíte operace nad nepřihlášeným uživatelem.

Díky moc
Bernard

Editoval Bernard Williams (14. 4. 2012 11:55)

Aurielle
Člen | 1281
+
0
-

Jako první mě napadlo nějak použít session ID, ale to je dost ošemetné řešení kvůli definované platnosti session… Možná spojit něco jako IP adresa a třeba User Agent pod nějaký hash a pracovat s ním… Sám jsem podobný problém zatím neřešil.

pawouk
Člen | 172
+
0
-

Vygeneroval bych si náhodný string a uložil ho do cookie. A pokud je má někdo vypnuté tak je to magor :-) takže bych se na nej bud vyprdnul a nebo pokud chceš podchitit i takovéto vyjímky tak těm bych to předával v url jako parametr, ale to je opravdu vyjímka…

Bernard Williams
Člen | 207
+
0
-

gmvasek: To session ID je uloženo právě v session->getId, ale s každým požadavkem se může vygenerovat jiné bez závislosti na délce platnosti session.

Dříve jsem to řešil přes session ID, a právě proto mě docela zaskočilo to regenerování session ID během requestů.

Aurielle
Člen | 1281
+
0
-

pawouk napsal(a):

Vygeneroval bych si náhodný string a uložil ho do cookie. A pokud je má někdo vypnuté tak je to magor :-) takže bych se na nej bud vyprdnul a nebo pokud chceš podchitit i takovéto vyjímky tak těm bych to předával v url jako parametr, ale to je opravdu vyjímka…

Pokud se nepletu tak pro použití přihlašování v Nette je jednou z podmínek mít cookies zapnuté…

Elijen
Člen | 171
+
0
-

Nejjednodussi bude si do session ulozit nejaky nahodny a unikatni hash. Session ID se klidne muze regenerovat pri kazdem requestu (otazka nastaveni PHP) … myslim, ze je to jedno z opatrenich proti kradezi session.

Btw: Do cookies bych to neukladal, vhodnejsi je session.

Editoval Elijen (14. 4. 2012 15:15)