⇧
vadnica-logo
Editor Moj Blog Geselnik Finance Moje storitve O projektu Telegram O meni O meni

PHP Filtri

PHP filtri se uporabljajo za preverjanje in filtriranje podatkov, ki prihajajo iz nevarnih virov, kot je uporabniški vnos. Za uporabo teh filtrov ni potrebno dodatno nameščanje, ker so že privzeto omogočeni. Pri uporabi naprednih filtrov lahko uporabimo različne možnosti, da prilagodimo filtre za validiranje in sanacije vhodnih podatkov. Tukaj si bomo ogledali nekaj naprednejših načinov uporabe filtrov.

PRIMER
REZULTAT
Tu bo prikazan rezultat...

Na obnašanje teh filtrov vplivajo nastavitve v php.ini datoteki:

ime opis privzeto spremenljivka
filter.default S tem filtrom filtriramo vse podatke $_GET, $_POST, $_COOKIE, $REQUEST in $_SERVER. Sprejme ime filtra, ki ga želimo privzeto uporabiti. Oglejmo si seznam filtrov za seznam imen filtrov. unsafe_raw PHP_INI_PERDIR
filter.default_flags Privzete zastavice (flags), ki se uporabijo, ko je nastavljen privzeti filter. Privzeto je nastavljeno na FILTER_FLAG_NO_ENCODE_QUOTES zaradi združljivosti za nazaj. NULL PHP_INI_PERDIR

Pregled PHP funkcij za filtriranje

PHP ponuja nabor vgrajenih funkcij, ki omogočajo preverjanje obstoja vhodnih podatkov in njihovo neposredno filtriranje:

Ime funkcije Opis delovanja Primer (Koda za simulator) Akcija
filter_has_var() Preveri, ali spremenljivka določene vrste (POST/GET) obstaja. echo filter_has_var(INPUT_POST, 'email') ? 'Obstaja' : 'Ne obstaja';
filter_id() Vrne interni ID številko podanega imena filtra. echo "ID filtra za email je: " . filter_id("validate_email");
filter_input() Pridobi zunanjo spremenljivko in jo takoj filtrira. echo "URL: " . filter_input(INPUT_POST, 'splet', FILTER_VALIDATE_URL);
filter_input_array() Pridobi več zunanjih spremenljivk hkrati in jih filtrira. $f = ['vnos' => FILTER_VALIDATE_INT]; print_r(filter_input_array(INPUT_POST, $f));
filter_list() Vrne indeksirano tabelo vseh podprtih imen filtrov. print_r(filter_list());
filter_var() Filtrira poljubno spremenljivko z določenim filtrom. echo filter_var('test@email.si', FILTER_VALIDATE_EMAIL) ? 'Veljaven' : 'Neveljaven';
filter_var_array() Filtrira več poljubnih spremenljivk hkrati z matriko filtrov. $p = ['a' => 10]; $f = ['a' => FILTER_VALIDATE_INT]; print_r(filter_var_array($p, $f));

Delovanje filtrov

Napredne možnosti filtrov

FILTER_VALIDATE_IP z različnimi zastavicami:

FILTER_VALIDATE_URL z zastavicami:

S temi metodami lahko zelo natančno kontroliramo validacijo in sanacijo vhodnih podatkov, kar izboljša varnost naše aplikacije.