Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Dynamické stránky s přístupem do databáze (formuláře a jejich zpracování, zabezpečení uživatelského vstupu, zápis do databáze, výpis dat z databáze)

PDF
Stáhnout kompletní materiál zdarma (239.8 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

Zabezpečení uživatelského vstupu 

Je třeba zabezpečit, aby server od uživatele dostal taková data, která očekává.  Byť můžeme pro 
ověření tvaru dat použít JavaScript na straně klienta, tato ochrana lze obejít a někdy nemusí být 
funkční. Nejspolehlivější je tak zabezpečení na straně serveru, kde po odeslání formuláře každý 
odeslaný vstup (prvek) zkontrolujeme – zda odpovídá potřebám – např. zda je e-mail či datum 
zadáno ve správném tvaru. 

Kromě toho je třeba zabezpečit aplikaci proti různým útokům, jako je např. SQL injection, což je 
útok, při němž je prostřednictvím webového formuláře odeslán SQL dotaz, který je, namísto, aby 

PAD Programování a databáze 

Téma 21 

Školní rok 2017/2018 

2/2 

Jan Švábík, V4D 

s ním  server  pracoval  jako  s obyčejným  textem,  zpracován,  a  to  právě  z důvodu  špatného  nebo 
žádného zabezpečení takových situací.  

K ověřování správného tvaru dat se používají filtry, které přineslo PHP 7, či vlastní funkce, které 
obvykle využívají porovnání s regulárním výrazem. SQL injection útokům lze zabránit přidáním 
funkce bind_param('ssi',  $a,  $b,  $c) před vložením hodnoty do takových proměnných. Při 
odeslání SQL dotazu se ověří, zda proměnné obsahují požadovaný datový typ. Funkce zároveň 
zabrání SQL injection. První parametr 'ssi' znamená, že první a druhá proměnná budou datového 
typu string a třetí typu integer. 

Různé knihovny, které komunikaci s DB usnadňují (např. dibi), většinou mívají toto zabezpečení 
implementováno samy v sobě.  

Zápis do databáze 

Zápis  do  databáze  se  provádí  pomocí  nějakého  databázového  dotazu  –  odesláním  příslušného 
požadavku na databázi – tedy odesláním požadavku pro uložení dat společně s takovými daty.  

Témata, do kterých materiál patří