Ošetření vstupních proměnných

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Příklad filtrování)
m (filter_var: Oprava vzhledu.)
 
(Není zobrazena 1 mezilehlá verze od 1 uživatele.)
Řádka 17: Řádka 17:
 
Funkce se snaží nahrazovat „podezdřelé“ znaky (takové, které by mohly být zneužity k útoku) jejich bezpečnými alternativami.
 
Funkce se snaží nahrazovat „podezdřelé“ znaky (takové, které by mohly být zneužity k útoku) jejich bezpečnými alternativami.
  
<div class="Priklad">Třeba znak &lt;, který by mohl být použit k vložení značek HTML, nahradí za HTML element &amp;lt;, který se zobrazí stejně, ale značku s ním vložit nelze.</div>
+
<div class="Priklad">Třeba znak <code>&lt;</code>, který by mohl být použit k vložení značek HTML, nahradí za HTML element <code>&amp;lt;</code>, který se zobrazí stejně, ale značku s ním vložit nelze.</div>
  
 
; Parametry
 
; Parametry

Aktuální verze z 7. 5. 2014, 07:32


Proč bychom měli proměnné ošetřit?

Pokud v PHP kódu nebo SQL dotazech používáme data, načtená ze vstupu (to je typické pro jazyk PHP), měli bychom si ověřit, že potenciální útočník do dat nezahrnul kód, který by mohl narušit funkci aplikace.

Techniky útoku založené na podsouvání záměrně poškozených dat se nazývají:

Více o těchto tématech například na: TechnicalInfo.net → Cross-site-scripting.

Pro základní vyfiltrování podsunutého kódu bychom při čtení vstupu z URL adresy či formulářů a dalších podobných zdrojů měli použít alespoň funkci filter_var.

filter_var

Funkce se snaží nahrazovat „podezdřelé“ znaky (takové, které by mohly být zneužity k útoku) jejich bezpečnými alternativami.

Třeba znak <, který by mohl být použit k vložení značek HTML, nahradí za HTML element &lt;, který se zobrazí stejně, ale značku s ním vložit nelze.
Parametry
Typy filtrů

Více viz: W3Schools.com → PHP Filter Functions

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje