Kontrola oprávnění jenom jako formulářová validace?

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

Zdravím, v poslední době jsem přišel na chuť vlastním formulářovým validacím a tak mě napadlo, jestli by vlastně nestačila podobná validace formuláře, například na ověření, zda má daný uživatel přístup ke článku (nebo čemukoliv jinýmu).

$form->addHidden('id', $this->articleID)->addRule(function($input) {
	return $this->facade->isUserArticleOwner($this->user->id, $input->value);
}, 'Sorry, but cannot access this article!');

Chtěl bych se zeptat, jestli je takto vytvořený formulář možno nějakým způsobem upravit a odeslat tak, aby se validace neprovedla a tudíž by přes něj mohl útočník upravovat i věci, ke kterým nemá přístup (pokud bych nedělal ještě další kontrolu při samotném ukládání dat po úspěšném odeslání zvalidovaného formuláře).

Díky.

vvoody
Člen | 910
+
0
-

Validácia sa vždy spustí ak ju nezrušíš cez setValidationScope, takže ju nieje možné obísť. Niekto by mohol namietať že oprávnenia nepatria do validácie (možno ani do formu), ale ak nemáš istotu či sa tvoj kód kontrolujúci oprávnenia vždy spustí na iných miestach, tak by som povedal že validácia je dostatočne dobré miesto kam ho umiestniť.

Editoval vvoody (21. 7. 2014 11:34)

Mysteria
Člen | 797
+
0
-

Díky, tohle přesně jsem potřeboval slyšet. :)