Bevezetés a PHP szűrőkbe

Nagyon kevés olyan nyelv van, amely rendelkezik szűrőfunkciókkal. A szűrők a programozási nyelvek egyik hozzáadott értékét képviselik. Ez segít nekünk az adatok vagy a karakterlánc szűrésében a feldolgozás előtt. Ez az időhívás, hogy ezt használjuk fel a rendszer bizonyos sebezhetőségi problémáinak megelőzésére. A PHP szűrők felhasználhatók a külső bemenetek validálására vagy fertőtlenítésére. Alapvetően a PHP szűrő egy kiterjesztés, amely felsorolja a különféle funkcióit és funkcióit, amelyeket a kódoláshoz használhatunk. Például az ügyfélbevitelt egy űrlapról vesszük e-mail azonosítóként, érvényesíteni vagy fertőtleníteni kell az adatbázishoz kapcsolódó művelet előtt. Mi, mint kódoló vagy fejlesztő, ezeket a szűrőket a PHP-ben kell használnunk, üzleti igényeink és követelményeink szerint.

Szintaxis

A tisztítás és a szűrők a leggyakoribb műveletek a webalkalmazás környezetében. Itt van az alapszintaxis:

filter_var(variable, filter, options)

Ez a filter_var funkció 3 paramétert vesz fel. Az utolsó 2 paraméter, a szűrő és az opciók nem kötelezőek. Az első egy változó vagy maga az azonosítók. Ez az, amit szűrni akarunk, a második, amit meg akarunk csinálni (ebben alapvetően átadjuk a rendelkezésre álló opciók azonosítóját a PHP-ben), és az utolsó a szűrővel kapcsolatos opciók. Megértjük ugyanazt egy kvízpéldal:

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

A fenti példában egy szűrőt használunk, és ellenőrizzük, hogy van-e egész szám értéke a $ int_val változóban. Tehát itt van ugyanaz a kimenet.

Kimenet:

Miért használjuk a Szűrőt a PHP-ben?

Számos PHP webalkalmazás külső bemenetet fogad az ügyféloldalról. Ennek az ötletnek az a célja, hogy a felhasználó bemeneti adatait feldolgozás előtt megtisztítsa, mivel nem várhatjuk el a felhasználótól, hogy minden adatot helyesen adjon meg. Bármely külső felhasználó vagy rendszer bemenete vagy adata kritikus biztonsági problémát okozhat.

Itt szűrhetjük a különféle külső forrásokból bevitt adatok fertőtlenítésére, például:

  • Közvetlen kliens felhasználói bevitel az űrlapból
  • A sütik adatai
  • A webszolgáltatások adatai
  • A szerver változók adatai
  • Adatbázis-lekérdezés eredményei

A PHP szűrők és a fertőtlenítők együttesen lehetővé teszik, hogy megkapjuk, hogy egy bemenet érvényes-e vagy sem. Ha nem érvényes bemenet, akkor ebben az esetben azt megtisztíthatjuk, hogy érvényes legyen. A következő példa részben különféle példákat mutatunk be ehhez.

Példa a szűrőre

Különböző típusú szűrők érhetők el a PHP-ben. Ezt a listát a filter_list () függvény segítségével ellenőrizhetjük. Alapvetően ezek a szűrőfunkciók felhasználhatók az URL, a karakterlánc, a szám, az IP-cím stb. Szűrésére.

1. példa

Ebben a szakaszban a különféle szűrőpéldák programokat látjuk egyenként.

Fertőtlenítse a húrot

Annak ellenőrzése, hogy egy karakterlánc érvényes-e vagy sem

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

A fenti példában érvényes karakterláncot látunk, ezért adjuk meg az érvényes karakterláncot.

Kimenet:

Szerezze be a fertőtlenített karakterláncot outputként

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

Láthatjuk, hogy két különböző output van. A fertőtlenítés előtt láthatjuk a kimenetet, és a fertőtlenítés utáni eltérő. A fertőtlenítés után a HTML-címkéket a PHP szűrő funkció eltávolította.

Kimenet:

2. példa

Érvényesítsen egy IP-címet

A PHP szűrő funkció elvégezheti ezt a munkát nekünk. Lássuk a példát.

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

Kimenet:

3. példa

E-mail cím fertőtlenítése és érvényesítése

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

A fenti példában érvénytelen az e-mail azonosító értéke, mivel ezt a kimenetet a szűrő funkció használatával kapjuk meg. De amikor megtisztítjuk, a helyes e-mailt kapja.

Kimenet:

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

A fenti PHP-kód példában azt vizsgáljuk, hogy az e-mail érvényes-e vagy sem.

Kimenet:

4. példa

Tisztítsa meg és érvényesítse az URL-t

Ebben a példában meglátjuk, hogy egy bemeneti URL érvényes-e vagy sem? Ha nem érvényes URL, akkor azt megtisztítja, hogy helyes legyen.

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

Kimenet:

Következtetés

A PHP szűrőt kell használnunk a felhasználói bevitel hitelesítésére vagy fertőtlenítésére. Ily módon korlátozhatjuk a kiszolgáltatott felhasználói bemenetet. A különféle PHP szűrő funkciókat használhatjuk a felhasználói bemenetek és az érték érvényesítésére. Fertőtleníthetjük az érték megtisztítását is (akár a felhasználó bemenete, akár a közvetlenül hozzárendelt). Mindig a PHP fertőtlenítőt kell használnunk, mielőtt bármilyen sütési adatot felhasználnánk az adatfeldolgozáshoz.

Ajánlott cikkek

Ez egy útmutató a PHP szűrőkhöz. Itt tárgyaljuk a szintaxist is, miért használunk szűrőt a PHP-ben és a példákat. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. PHP keretek
  2. Tableau kontextusszűrő
  3. Mi az a 2. szög?
  4. Mantis Bug Tracker
  5. Hogyan működnek a cookie-k JavaScript-ben a példával?

Kategória: