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–
- PHP Frameworks
- Tableau kontekstfilter
- Hva er Angular 2?
- Mantis Bug Tracker
- Hvordan fungerer informasjonskapsler i JavaScript med eksempel?