jak vypnout generování nové session |ID při přihlašování

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

NetteFramework-2.0.10-PHP5.3
Zdravím, lze jednoduše vypnout generování nové sessin ID při přihlašování.
Nově přihlášený uživatel přijde o košík se starým session ID.

Předem díky za nápady.

Aurielle
Člen | 1281
+
0
-

Nelze, je to ochrana proti session útokům.

MartinitCZ
Člen | 580
+
0
-

@**Karel Chramosil**: Jak píše Aurielle, nelze. Řeš to přes cookies.

Karel Chramosil
Člen | 114
+
0
-

OK díky.

Jan Tvrdík
Nette guru | 2595
+
0
-

@Karel Chramosil: To je divné. Regenerace session id by neměla vést ke ztrátě žádných dat v session.

David Matějka
Moderator | 6445
+
0
-

@Jan Tvrdík: IMHO data nemá uložena v session, ale v databázi a jako identifikátor je použito session id

EDIT: jako řešení mě napadá zdědit Nette\Http\Session a při regeneraci session id zavolat nějakej callback. nebo jednodušejc – před přihlášenim si získat sessionid a po přihlášení (myslim jako před a po volání $user->login())..

Editoval matej21 (5. 4. 2013 0:27)

Jan Tvrdík
Nette guru | 2595
+
0
-

IMHO data nemá uložena v session, ale v databázi a jako identifikátor je použito session id

V tom případě až použije jako identifikátor něco náhodného a to ať uloží do session.

Karel Chramosil
Člen | 114
+
0
-

Děkuji za rady, košík mám uložen v databázi, při přihlášení nového uživatele jsem uložil poslední user_id do košíku a dále pracuji s user_id. Akorát mám obavy, aby bez transakcí se v době hledání posledního user_id nestihl přihlásit někdo jiný. Varianta schovat si session před přihlášením a po přihlášení ji znovu nastavit mne napadla jako první, ale nevím jak starou session vnutit serveru.