Sähköisten asiointipalveluiden toteuttaminen

Sorakuilu

Syötteen validointi ja sanitointi

Validoinnissa tarkistetaan, että käyttäjän antama arvo on kelvollinen ja sanitoinnissa poistetaan turhat merkit syötteestä.

PHP:n filter_var() -funktiota käytetään sekä validointiin että sanitointiin. Funktiolle annetaan syötteeksi merkkijono, jota käsitellään ja filtteri (suodatin). Suodattimet joko poistavat merkkejä (sanitize) tai palauttavat boolean- vastauksen siitä onko arvo kelvollinen (validate).

Seuraavassa on tavallisia lomakkeessa olevaa kenttiä, joiden arvoja tulee tarkastella:

Sanitointia

Teksti

Poista kaikki HTML-tagit merkkijonosta:

$sana = filter_var($sana, FILTER_SANITIZE_STRING);

Sähköposti

Poista kielletyt merkit sähköpostiosoitteesta:

$email = filter_var($email, FILTER_SANITIZE_EMAIL);

URL

Poista väärät merkit url:stä

$var = filter_var($var, FILTER_SANITIZE_URL));

Validointia

URL

Varmista, että URL on validi (oikeaoppinen):

if (filter_var($url, FILTER_VALIDATE_URL))...

Numero

Varmista, että numero on validi (oikeaoppinen):

if (filter_var($int, FILTER_VALIDATE_INT)) {...

Numero välillä 1 - 1000

$int = 122; $min = 1; $max = 1000; if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) { echo("Muuttujan arvo ei ole sallitulla alueella"); } else { echo("Muuttujan arvo ok"); }

Lomakekenttien tarkistaminen filter_input-funktion avulla

$name = filter_input(INPUT_POST, "name", FILTER_SANITIZE_STRING); $email= filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL); $search = filter_input(INPUT_GET, "s", FILTER_SANITIZE_STRING);


Katso myös Tutorialrepublicin filter-materiaali