Přihlašování pouze heslem, problém s bezpečností

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

Ahoj, s nette začínám (už asi po třetí :-)) a zkouším si napsat jednoduchou aplikaci na testování studentů. Něco jako testmoz.com. Chtěl bych, aby k používání nebyla třeba žádná registrace, mělo by stačit znát přístupový kód. Filosofie je taková, že si kdokoliv může vytvořit test a přitom zadat dva kódy. Jeden, přes který bude možné se přihlásit k úpravám testu, a druhý, přes který se budou hlásit studenti.
Upravil jsem si autentikator tak, že místo jména a hesla potřebuje id testu a heslo. Id testu mám nastaveno jako persistentní a tedy se mi předává v url. Takhle mi to funguje, ale je tam problém v tom, že když se přihlásím k jednomu testu, pak stačí v url změnit id a dostanu se k libovolnému jinému, protože uživatel už je přihlášen.
V přihlášené identitě mám uloženo id testu, ke kterému je uživatel přihlášen, ale nevím, jak to jednoduše ověřovat. Mohl bych udělat něco jako

<?php
if ($user->isLoggedIn() and $user->id==$idtestu) {
    ...
} else {
    echo 'Uživatel není přihlášen';
}
?>

ale říkám si, jestli by se nenašlo nějaké čistší řešení.

David Matějka
Moderator | 6445
+
0
-

asi bych se uplne vykaslal na authenticator a identitu atd.

proste uzivatel zada heslo, kdyz bude heslo ok, tak si do session uloz, ze ma k tomuto testu pristup – uzivatel bude pak moci v ramci platnosti session byt prihlasen k vice testum atd.