restoreRequest a user id při logout
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- fak
- Člen | 48
Ahoj Davide,
snažil jsem se udělat restoreRequest($key)
při
$user->logout(TRUE)
a nefungovalo to, tak jsem se podival do
kódu metody a přišel jsem na to proč to nejde, že je potřeba dát buď
$user->logout()
nebo smazat podmínku na kontrolu uživatele na
řádce 1142.
1139: public function restoreRequest($key)
1140: {
1141: $session = $this->getSession('Nette.Application/requests');
1142: if (!isset($session[$key]) || ($session[$key][0] !== NULL && $session[$key][0] !== $this->getUser()->getId())) {
1143: return;
Chápu, že to je bezpečnostní ochrana, ale programátor by měl zabezpečenou zónu mít ochráněnou i tak. Nebo to má i jiné následky?
Budu to řešit tím $user->logout(FALSE)
- David Grudl
- Nette Core | 8228
Je to ochrana proti tomu, aby požadavek uložený pod jedním uživatelem nebylo možné restaurovat pod uživatelem jiným. Šlo by o bezpečnostní díru.