Nefunkční session sekce v Chrome

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

Ahoj, mám skript na tomto principu:

$session = $this->getSession('skupina');
$session->nick = 'Forest';

Poté mi dojde e-mail, kde je odkaz něco jako:

mojedomena.cz/odkaz/?nick=Forest

A v OdkazPresenter.php kontroluji:

if($this->getParameter('nick') == $session->nick) ...

Používám prohlížeč Google Chrome a to jak na PC, tak na telefonu.

Pokud na odkaz kliknu na PC, vše je v pořádku. Jakmile ale na odkaz kliknu na telefonu, tak se to tváří, že podmínka není splněna. Na odkaz klikám tak, jak je v e-mailu a URL neměním.

Připadá mi to tedy jako by to na telefonu vůbec neprovedlo:

$session = $this->getSession('skupina');

Neví někdo, prosím, proč to nenačte session proměnné a jejich hodnoty?

PS. Cookies povolené mám – přihlášení podle dokumentace Nette funguje v pořádku i na telefonu. Děkuji.

jiri.pudil
Nette Blogger | 1032
+
+2
-

To je prosté: jiný prohlížeč = jiné session ID. Čeho se snažíš dosáhnout?

johnnie
Člen | 54
+
+1
-

A nemoze to byt tym ze tie session mas ulozene v PC a nie v mobile ? Lebo ak spravne chapem tak ty robis z PC a potom z telefonu si otvaras mail kde klikas na odkaz. To by znamenalo ze ju v telefone nemas

@jiri.pudil rychlejsi :D

Editoval johnnie (26. 4. 2017 9:14)

ForestCZE
Člen | 209
+
0
-

jiri.pudil napsal(a):

To je prosté: jiný prohlížeč = jiné session ID. Čeho se snažíš dosáhnout?

Ta otázka zní, jako bych se snažil vynalézt kolo :D

Např. když chci přes odkaz potvrdit registraci nebo obnovit heslo. Tak si uložím potřebné údaje do session, poté je porovnám s hodnotami v GET a nakonec provedu update v DB.

Editoval ForestCZE (26. 4. 2017 16:56)

David Matějka
Moderator | 6445
+
+3
-

když chci přes odkaz potvrdit registraci nebo obnovit heslo.

to se resi obvykle tak, ze do databaze ulozis nahodny token, ktery pak posles na mail v tom linku a pote zkontrolujes, jestli je validni

ForestCZE
Člen | 209
+
0
-

David Matějka napsal(a):

když chci přes odkaz potvrdit registraci nebo obnovit heslo.

to se resi obvykle tak, ze do databaze ulozis nahodny token, ktery pak posles na mail v tom linku a pote zkontrolujes, jestli je validni

Aha, tak s tím nemám žádné zkušenosti, ale zkusím napsat, jak jsem to pochopil, kdyžtak mě prosím oprav.

Při odeslání formuláře, kde jsem vyplnil e-mail, tak do databáze do tabulky, např. tokens, uložím ten e-mail a nějaký token (hash string) a pošlu si to do url do GET a pak si to při kontrole vytáhnu a porovnám?

David Matějka
Moderator | 6445
+
+2
-

@ForestCZE ano, takhle – jen je teda lepsi ukladat do te tabulky nejake user_id a ne email