Introduksjon til PHP-filtre

Det er veldig få språk som har filterfunksjoner. Filtre er en av verdiøkende funksjoner i programmeringsspråk. Dette hjelper oss med å filtrere dataene eller strengen før behandlingen. Dette er samtalen for å bruke dette for å forhindre noen sårbarhetsproblemer i systemet. PHP-filtre kan brukes til å validere eller sanitere de eksterne inngangene. I utgangspunktet er PHP-filteret en utvidelse som kommer med sine forskjellige funksjoner og funksjonene vi kan bruke mens vi koder. For eksempel tar vi klientinnspill fra et skjema som e-post-id, vi bør validere eller desinfisere før databaserelatert drift. Vi som en koder eller utvikleren bør bruke disse filtrene i PHP i henhold til våre forretningsbehov og krav.

syntax

Sanering og filtrene er de vanligste operasjonene i webapplikasjonsmiljøet. Her er den grunnleggende syntaks:

filter_var(variable, filter, options)

Denne funksjonen filter_var tar tre parametere. De siste 2 parametrene, filter og opsjoner er valgfrie. Den første er en variabel eller identifikatorene i seg selv. Dette er den vi ønsker å filtrere, den andre er hva vi vil gjøre (i dette passerer vi i utgangspunktet IDen til de tilgjengelige alternativene i PHP), og den siste er filterrelaterte alternativer. La oss forstå det samme med et quizeksempel:

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

I eksemplet over bruker vi et filter og sjekker om vi har en heltallverdi i variabelen $ int_val eller ikke. Så her er output for det samme.

Produksjon:

Hvorfor bruker vi Filter i PHP?

Mange PHP-nettapplikasjoner mottar ekstern input fra klientsiden. Tanken bak å bruke dette er å rense brukerens inngang før behandling, da vi ikke kan forvente av brukeren å legge alle dataene riktig. Enhver ekstern bruker- eller systeminngang eller data kan føre til et kritisk sikkerhetsproblem.

Vi kan filtrere her for å desinfisere dataene som er lagt inn fra forskjellige eksterne kilder som:

  • Direkte klientbrukerinnsats fra skjemaet
  • Data om informasjonskapsler
  • Data fra webtjenestene
  • Data om servervariablene
  • Resultat av databaseforespørsel

PHP-filtre og desinfiserende midler gjør det mulig for oss å få om en inngang er gyldig eller ikke. Hvis ikke et gyldig innspill, kan vi i dette tilfellet desinfisere det for å lage et gyldig innspill. I det kommende eksemplet vil vi forskjellige eksempler relatert til dette.

Eksempel på filter

Det er forskjellige typer filtre tilgjengelig i PHP. Vi kan sjekke den listen ved å bruke filter_list () -funksjonen. I utgangspunktet kan disse filterfunksjonene brukes til å filtrere URL, streng, nummer, IP-adresse osv.

Eksempel 1

I denne delen vil vi se de forskjellige filtereksempelprogrammene én etter én.

Rense en streng

For å sjekke om en streng er gyldig eller ikke

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

I eksemplet over kan vi se en gyldig streng som er grunnen til at den gir den gyldige.

Produksjon:

Få den desinfiserte strengen som en utgang

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

Vi kan se at vi har to forskjellige utganger. Vi kan se resultatet før sanering og etter sanitering er annerledes. Etter desinfisering har HTML-koder blitt fjernet av PHP-filterfunksjonen.

Produksjon:

Eksempel 2

Valider en IP-adresse

PHP-filterfunksjon kan gjøre denne jobben for oss. La oss se eksemplet.

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

Produksjon:

Eksempel 3

Rense og validere en e-postadresse

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

I eksemplet over har vi en ugyldig verdi for e-post-iden, da vi får denne utdataene ved å bruke filterfunksjonen. Men i det øyeblikket vi desinfiserer det, får du riktig e-post.

Produksjon:

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

I eksemplet ovenfor PHP-kode sjekker vi om e-posten er gyldig eller ikke.

Produksjon:

Eksempel 4

Rens og valider URL

I dette eksemplet vil vi se om en URL som er angitt er gyldig eller ikke? Hvis ikke en gyldig URL, vil den sanitere den for å gjøre den riktig.

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

Produksjon:

Konklusjon

Vi bør bruke PHP-filteret til å validere eller desinfisere brukerinndataene. På denne måten kan vi begrense den sårbare brukerinngangen. Vi kan bruke de forskjellige PHP-filterfunksjonene for å validere brukerinngangene og verdien. Vi kan også gå til desinfisering for å rengjøre verdien (enten brukerinngang eller direkte tilordnet). Vi bør alltid bruke PHP-desinfiseringsmiddel før vi bruker informasjonskapsler-data til databehandlingen.

Anbefalte artikler

Dette har vært en guide til PHP-filtre. Her diskuterer vi også syntaks, hvorfor vi bruker et filter i PHP og eksempler. Du kan også se på følgende artikler for å lære mer–

  1. PHP Frameworks
  2. Tableau kontekstfilter
  3. Hva er Angular 2?
  4. Mantis Bug Tracker
  5. Hvordan fungerer informasjonskapsler i JavaScript med eksempel?