Johdanto PHP-suodattimiin

Harvoilla kielillä on suodatinominaisuuksia. Suodattimet ovat yksi ohjelmointikielen lisäarvoominaisuuksista. Tämä auttaa meitä suodattamaan tiedot tai merkkijono ennen käsittelyä. Tämän ajan kutsu on käyttää tätä estämään joitain järjestelmän haavoittuvuusongelmia. PHP-suodattimia voidaan käyttää ulkoisten tulojen validointiin tai puhdistamiseen. Pohjimmiltaan PHP-suodatin on laajennus, joka tulee esille erilaisilla toiminnoillaan ja ominaisuuksilla, joita voimme käyttää koodaamisessa. Otamme esimerkiksi asiakkaan syöttämiä lomakkeita sähköpostitunnuksina. Meidän pitäisi vahvistaa tai desinfioida ennen tietokantaan liittyvää toimintaa. Meidän tulee koodaajana tai kehittäjänä käyttää näitä suodattimia PHP: ssä liiketoimintamme tarpeiden ja vaatimusten mukaisesti.

Syntaksi

Puhdistus ja suodattimet ovat yleisimmät toiminnot web-sovellusympäristössä. Tässä on perussintaksi:

filter_var(variable, filter, options)

Tämä toiminto filter_var ottaa 3 parametria. Viimeiset 2 parametria, suodatin ja vaihtoehdot ovat valinnaisia. Ensimmäinen on muuttuja tai itse tunnisteet. Tämä on yksi, jonka haluamme suodattaa, toinen on mitä haluamme tehdä (tässä periaatteessa lähetämme PHP: llä käytettävissä olevien vaihtoehtojen tunnuksen), ja viimeinen on suodattimeen liittyvät asetukset. Ymmärretään sama tietokilpailuesimerkillä:

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

Yllä olevassa esimerkissä käytämme suodatinta ja tarkistamme, onko muuttujan $ int_val kokonaislukuarvo vai ei. Joten, tässä on lähtö samasta.

lähtö:

Miksi suodatinta käytetään PHP: ssä?

Monet PHP-verkkosovellukset vastaanottavat ulkoista tuloa asiakaspuolelta. Tämän käytön idea on puhdistaa käyttäjän syötteet ennen käsittelyä, koska emme voi odottaa käyttäjän laittavan kaikkia tietoja oikein. Minkä tahansa ulkoisen käyttäjän tai järjestelmän syöttämät tiedot tai tiedot voivat johtaa kriittiseen tietoturvaongelmaan.

Voimme suodattaa täällä puhdistaakseen eri ulkoisista lähteistä syötetyt tiedot, kuten:

  • Suora asiakaskäyttäjän syöttämä lomake
  • Evästeiden tiedot
  • Tiedot verkkopalveluista
  • Palvelinmuuttujien tiedot
  • Tietokantakyselyn tulokset

PHP-suodattimet ja desinfiointilaitteet antavat yhdessä mahdollisuuden saada tieto siitä, onko syöte kelvollinen vai ei. Jos ei ole kelvollinen syöte, tässä tapauksessa voimme puhdistaa sen tehdä kelvollinen. Tulevassa esimerkkiosassa kerromme useita tähän liittyviä esimerkkejä.

Esimerkki suodattimesta

PHP: ssä on saatavana erityyppisiä suodattimia. Voimme tarkistaa luettelon suodatinluettelo () -toiminnolla. Periaatteessa näitä suodatustoimintoja voidaan käyttää suodattamaan URL, merkkijono, numero, IP-osoite jne.

Esimerkki # 1

Tässä osiossa näemme eri suodatinesimerkkiohjelmat yksitellen.

Puhdista merkkijono

Tarkista, onko merkkijono kelvollinen vai ei

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

Yllä olevassa esimerkissä voimme nähdä kelvollisen merkkijonon, minkä vuoksi se antaa kelvollisen.

lähtö:

Hanki puhdistettu merkkijono tulosteena

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

Voimme nähdä, että meillä on kaksi erilaista lähtöä. Voimme nähdä tuloksen ennen puhdistamista ja jälkipuhdistuksen on erilainen. Puhdistamisen jälkeen PHP-suodatin on poistanut HTML-tunnisteet.

lähtö:

Esimerkki 2

Vahvista IP-osoite

PHP-suodatintoiminto voi tehdä tämän työn meille. Katsotaanpa esimerkkiä.

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

lähtö:

Esimerkki 3

Sähköpostiosoitteen puhdistaminen ja validointi

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

Yllä olevassa esimerkissä meillä on virheellinen arvo sähköpostiosoitteelle, koska saamme tämän tulosteen suodatintoiminnon avulla. Mutta hetki, kun puhdistamme sen, antaa oikean sähköpostin.

lähtö:

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

Yllä olevassa esimerkissä PHP-koodi tarkistamme onko sähköposti kelvollinen vai ei.

lähtö:

Esimerkki 4

Puhdista ja vahvista URL

Tässä esimerkissä näemme, onko syötetty URL kelvollinen vai ei? Jos URL-osoite ei ole kelvollinen, se puhdistaa sen oikein.

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

lähtö:

johtopäätös

Meidän tulisi käyttää PHP-suodatinta käyttäjän syötteen vahvistamiseen tai puhdistamiseen. Tällä tavoin voimme rajoittaa haavoittuvien käyttäjien panosta. Voimme käyttää erilaisia ​​PHP-suodatintoimintoja käyttäjän syötteiden ja arvon tarkistamiseen. Voimme myös puhdistaa puhdistamalla arvon (joko käyttäjän syöttämä tai suoraan osoitettu). Meidän on käytettävä aina PHP-puhdistajaa ennen evästeiden käyttämistä tietojen käsittelyyn.

Suositellut artikkelit

Tämä on opas PHP-suodattimiin. Tässä keskustellaan myös syntaksista, miksi käytämme suodatinta PHP: ssä ja esimerkkejä. Saatat myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. PHP-kehykset
  2. Tableau-kontekstisuodatin
  3. Mikä on kulma 2?
  4. Mantis Bug Tracker
  5. Kuinka evästeet toimivat JavaScriptillä esimerkin kanssa?