Kontrola oprávnění jenom jako formulářová validace?
- Mysteria
- Člen | 797
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
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)