Sissejuhatus PHP-filtritesse

Filtri funktsioonidega keeli on väga vähe. Filtrid on programmeerimiskeelte üks lisaväärtust pakkuv funktsioon. See aitab meil enne töötlemist andmeid või stringi filtreerida. Selle aja üleskutse on seda kasutada süsteemis mõne haavatavusega seotud probleemi ennetamiseks. PHP-filtreid saab kasutada väliste sisendite valideerimiseks või desinfitseerimiseks. Põhimõtteliselt on PHP-filter laiend, mis tuleb välja oma erinevate funktsioonide ja funktsioonidega, mida saame kodeerimise ajal kasutada. Näiteks võtame kliendi sisestatud vormingust e-posti id. Peaksime enne andmebaasiga seotud toimingut kinnitama või puhastama. Meie kui kodeerija või arendaja peaks kasutama neid filtreid PHP-s vastavalt oma ärivajadustele ja -nõuetele.

Süntaks

Puhastamine ja filtrid on veebirakenduse keskkonnas kõige tavalisemad toimingud. Siin on põhiline süntaks:

filter_var(variable, filter, options)

See funktsioon filter_var võtab 3 parameetrit. Viimased 2 parameetrit, filter ja suvandid on valikulised. Esimene neist on muutuja või identifikaatorid ise. See on üks, mida tahame filtreerida, teine ​​on see, mida tahame teha (põhimõtteliselt edastame PHP-s saadaolevate suvandite ID-d) ja viimane on filtriga seotud suvandid. Mõistame sama viktoriini näitega:

<_?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
)
?>

Ülaltoodud näites kasutame filtrit ja kontrollime, kas muutuja $ int_val täisarv on meil olemas või mitte. Niisiis, siin on sama väljund.

Väljund:

Miks me kasutame filtrit PHP-s?

Paljud PHP veebirakendused saavad kliendi poolelt välist sisendit. Selle kasutamise mõte on puhastada kasutaja sisend enne töötlemist, kuna me ei saa eeldada, et kasutaja kogu andmed õigesti paneb. Mis tahes välise kasutaja või süsteemi sisend või andmed võivad põhjustada kriitilise turbeprobleemi.

Saame siin filtreerida erinevatest välistest allikatest (nt:

  • Kliendi kasutaja otsene sisend vormist
  • Küpsiste andmed
  • Andmed veebiteenustest
  • Serverimuutujate andmed
  • Andmebaasi päringu tulemused

PHP-filtrid ja desinfitseerijad võimaldavad koos saada teavet selle kohta, kas sisend on õige või mitte. Kui see pole kehtiv sisestus, siis sel juhul saame selle korrektseks sisendiks desinfitseerida. Järgmises näites käsitleme erinevaid sellega seotud näiteid.

Näide filtrist

PHP-s on saadaval erinevat tüüpi filtreid. Seda nimekirja saame kontrollida funktsiooni filter_list () abil. Põhimõtteliselt saab neid filtrifunktsioone kasutada URL-i, stringi, numbri, IP-aadressi jne filtreerimiseks.

Näide nr 1

Selles jaotises näeme erinevaid filtrinäiteprogramme ükshaaval.

Puhastage string

Et kontrollida, kas string on kehtiv või mitte

<_?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
)
?>

Ülaltoodud näites näeme kehtivat stringi, sellepärast annab see õige stringi.

Väljund:

Hankige väljundina desinfitseeritud keel

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

Näeme, et meil on kaks erinevat väljundit. Näeme väljundit enne desinfitseerimist ja pärast desinfitseerimist on erinev. Pärast desinfitseerimist on PHP-filtrifunktsioon eemaldanud HTML-sildid.

Väljund:

Näide 2

Kinnitage IP-aadress

PHP-filtrifunktsioon saab selle ära teha meie jaoks. Vaatame näidet.

<_?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
)
?>

Väljund:

Näide 3

E-posti aadressi puhastamine ja kinnitamine

<_?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);
?>

Ülaltoodud näites on meiliaadressi väärtus vale, kuna saame selle väljundi filtrifunktsiooni abil. Kuid hetk, mil see desinfitseeritakse, annab õige e-kirja.

Väljund:

<_?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
)
?>

Ülaltoodud PHP-koodi näites kontrollime, kas meiliaadress on kehtiv või mitte.

Väljund:

Näide 4

Puhastage ja kinnitage URL

Selles näites näeme, kas sisend-URL on kehtiv või mitte? Kui see pole õige URL, puhastab ta selle korrektseks muutmiseks.

<_?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);
?>

Väljund:

Järeldus

Kasutaja sisendi kinnitamiseks või desinfitseerimiseks peaksime kasutama PHP-filtrit. Nii saame piirata haavatava kasutaja sisendit. Kasutaja sisendite ja väärtuse kinnitamiseks saame kasutada mitmesuguseid PHP-filtrifunktsioone. Samuti võime puhastada väärtusi (kas kasutaja sisestatud või otseselt määratud). Enne küpsiste andmete kasutamist andmete töötlemiseks peaksime alati kasutama PHP sanitizerit.

Soovitatavad artiklid

See on olnud PHP-filtrite juhend. Siin arutleme ka süntaksi üle, miks kasutame PHP-s filtrit ja näidetes. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. PHP raamistikud
  2. Tableau kontekstifilter
  3. Mis on nurk 2?
  4. Mantis veaotsija
  5. Kuidas toimivad küpsised JavaScripti näites?

Kategooria: