Uvod v PHP filtre

Jezikov, ki imajo funkcije filtra, je zelo malo. Filtri so ena od dodanih vrednosti programskih jezikov. To nam pomaga filtrirati podatke ali niz pred obdelavo. To je čas, da to uporabimo za preprečevanje nekaterih težav z ranljivostjo v sistemu. PHP filtre je mogoče uporabiti za potrjevanje ali saniranje zunanjih vhodov. V bistvu je PHP filter razširitev, ki ponuja različne funkcije in funkcije, ki jih lahko uporabljamo pri kodiranju. Na primer, odjemalce vnesemo iz obrazca kot e-poštni naslov, ga moramo pred delovanjem v zvezi z bazo potrditi ali sanirati. Kot koder ali razvijalec bi morali te filtre uporabljati v PHP glede na naše poslovne potrebe in zahteve.

Sintaksa

Sanitizing in filtri so najpogostejši postopki v okolju spletne aplikacije. Tu je osnovna skladnja:

filter_var(variable, filter, options)

Ta funkcija filter_var ima 3 parametre. Zadnja dva parametra, filter in možnosti so neobvezna. Prva je spremenljivka ali identifikatorji sami. To je tisto, ki ga želimo filtrirati, drugo je tisto, kar želimo narediti (pri tem v osnovi prenašamo ID razpoložljivih možnosti v PHP-ju), zadnje pa so možnosti, povezane s filtrom. Razložimo enako s primerom kviza:

<_?php
$int_val = 200;
if(filter_var($int_val, FILTER_VALIDATE_INT))(
echo "The $int_val is a valid one."; // valid
) else(
echo "The $int_val not a valid input as an integer"; // invalid
)
?>

V zgornjem primeru uporabljamo filter in preverimo, ali imamo celo vrednost v spremenljivki $ int_val ali ne. Torej, tukaj je izhod za isto.

Izhod:

Zakaj v PHP uporabljamo Filter?

Mnoge spletne aplikacije PHP prejmejo zunanji vhod od strani odjemalca. Ideja za to je čiščenje uporabniškega vnosa pred obdelavo, saj od uporabnika ne moremo pričakovati, da bo vse podatke pravilno namestil. Vsak zunanji uporabnik ali sistemski vhod ali podatki lahko privedejo do kritičnih varnostnih težav.

Tu lahko filtriramo, da očistimo podatke, vnesene iz različnih zunanjih virov, kot so:

  • Neposreden uporabnikov vnos iz obrazca
  • Podatki o piškotkih
  • Podatki iz spletnih storitev
  • Podatki spremenljivk strežnika
  • Rezultati poizvedbe po zbirki podatkov

PHP filtri in čistilniki skupaj omogočajo, da lahko ugotovimo, ali je vnos veljaven ali ne. Če ni veljaven vložek, lahko v tem primeru to ocenimo in naredimo veljaven. V naslednjem primeru primera bomo različne primere v zvezi s tem.

Primer filtra

V PHP so na voljo različne vrste filtrov. Ta seznam lahko preverimo s funkcijo filter_list (). Te filtrirne funkcije lahko v osnovi uporabimo za filtriranje URL-ja, niza, številke, naslova IP itd.

Primer # 1

V tem razdelku bomo videli posamezne primere filtrskih programov.

Sanitizira struno

Če želite preveriti, ali je niz veljaven ali ne

<_?php
$comment = "Hello word";
if(filter_var($comment, FILTER_SANITIZE_STRING))(
echo "The $comment is a valid one."; // valid
) else(
echo "The $comment not a valid input"; // invalid
)
?>

V zgornjem primeru lahko vidimo veljaven niz, zato daje veljaven.

Izhod:

Pridobite sanitizirani niz kot izhod

<_?php
$comment = " Hello word ";
echo "Before sanitizing: ". $comment;
$comment = filter_var($comment, FILTER_SANITIZE_STRING);
echo "
"; // for new line
echo "After sanitizing: ". $comment;
?>

Vidimo, da imamo dva različna izhoda. Rezultat lahko vidimo pred saniranjem in po saniranju je drugačen. Po saniranju so oznake HTML odstranile funkcijo filtra PHP.

Izhod:

Primer # 2

Preverjanje naslova IP

Funkcija filtra PHP lahko to opravi za nas. Poglejmo primer.

<_?php
$ip_address = "172.16.254.1:40";
if(filter_var($ip_address, FILTER_VALIDATE_IP))(
echo "The $ip_address is a valid one."; // valid
) else(
echo "The $ip_address is not a valid input"; // invalid
)
?>

Izhod:

Primer # 3

Sanitizira in potrdi e-poštni naslov

<_?php
$email_address = " @testmail.com";
code>
echo "Before Sanitizing: " . $email_address ."
";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL))(
echo "The $email_address is a valid one."; // valid
) else(
echo "The $email_address not a valid input"; // invalid
)
echo "
";
echo "After Sanitizing: " . filter_var($email_address, FILTER_SANITIZE_EMAIL);
?>

V zgornjem primeru imamo neveljavno vrednost za e-poštni ID, saj ta rezultat dobimo s pomočjo funkcije filtra. Toda v trenutku, ko ga saniramo, daje pravilen e-poštni naslov.

Izhod:

<_?php
$email_address = " ";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL))(
echo "The $email_address is a valid one."; // valid
) else(
echo "The $email_address not a valid input"; // invalid
)
?>

V zgornjem primeru koda PHP preverjamo, ali je e-pošta veljavna ali ne.

Izhod:

Primer št. 4

Sanitizirajte in preverite URL

V tem primeru bomo videli, ali je vhodni URL veljaven ali ne? Če ni veljaven URL, bo to očistil in ga popravil.

<_?php
$URL = "https://www.educba.com/ courses ";
echo "Before Sanitizing: " . $URL ."
";
if(filter_var($URL, FILTER_VALIDATE_URL))(
echo "The $URL is a valid one."; // valid
) else(
echo "The $URL is not a valid input"; // invalid
)
echo "
";
echo "After Sanitizing: " . filter_var($URL, FILTER_SANITIZE_URL);
?>

Izhod:

Zaključek

Za preverjanje ali saniranje uporabniškega vnosa bi morali uporabiti filter PHP. Tako lahko omejimo ranljiv uporabniški vnos. Za preverjanje uporabniških vnosov in vrednosti lahko uporabimo različne funkcije filtra PHP. Za čiščenje vrednosti lahko uporabimo tudi čiščenje (bodisi uporabniški vnos bodisi neposredno dodeljen). Vedno moramo uporabiti sredstva za zaščito PHP, preden za obdelavo podatkov uporabimo kakršne koli piškotke.

Priporočeni članki

To je vodnik za PHP filtre. Tukaj razpravljamo tudi o sintaksi, zakaj v PHP in primerih uporabimo filter. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Okviri PHP
  2. Kontekstni filter Tableau
  3. Kaj je kotni 2?
  4. Mantis Bug Tracker
  5. Kako piškotki delujejo v JavaScript s Primerjem?