Kategorie: Články

Ochrana formulářů - XSRF - autorizačním tokenem

Nebo-li také problém zvaný "Formulář nebyl odeslán s platným tokenem"

Důvod zobrazení

Tato chyba se Vám zobrazí v případě, že Váš formulář neobsahuje ochranný token. Tento token slouží pro ověření uživatelského požadavku a jako ochrana, že nejde o útočníkem podvrhnutý požadavek, typicky se jedná o odeslání formuláře.

Náprava

Do Vašeho nechráněného formuláře stačí přidat pouze systémovou funkci _xsrfProtect()

Pro méně zdatné v programování, zde uvedu i 2 příklady použití

Klasický formulář

Jendá se o klasicky zapsaný HTML formulář, kamkoliv mezi značky <form></form> přidejte červeně označený zápis funkce <form name="send" method="post" enctype="multipart/form-data" action="">
<?php echo _xsrfProtect(); ?>
<input name="Submit" type="submit" value="Odeslat">
</form>

String formulář

Ovšem v případech, kdy formulář vypisujete "ze stringu" (formulář vypisovaný PHP skriptem) se zápis funkce lišíecho "<form name='send' method='post' enctype='multipart/form-data' action=''>
"._xsrfProtect()."
<input name='Submit' type='submit' value='Odeslat'>
</form>";
* je však nutné dát pozor jaké používáte uvozovky a jak