Nefunkční session sekce v Chrome
- ForestCZE
- Člen | 209
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
To je prosté: jiný prohlížeč = jiné session ID. Čeho se snažíš dosáhnout?
- ForestCZE
- Člen | 209
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
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
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
@ForestCZE ano, takhle – jen je teda lepsi ukladat do te tabulky nejake user_id a ne email