Introduktion till PHP-filter

Det finns väldigt få språk som har filterfunktioner. Filters är en av de mervärde-funktionerna i programmeringsspråk. Detta hjälper oss att filtrera data eller strängen innan vi bearbetar. Det här är tiden för att använda detta för att förhindra vissa sårbarhetsproblem i systemet. PHP-filter kan användas för validering eller sanering av externa ingångar. I grund och botten är PHP-filtret en förlängning som kommer med sina olika funktioner och de funktioner vi kan använda när vi kodar. Till exempel tar vi klientinmatning från ett formulär som e-post-id, vi bör validera eller sanera innan databasrelaterad operation. Vi som kodare eller utvecklare bör använda dessa filter i PHP enligt våra affärsbehov och krav.

Syntax

Sanering och filtren är de vanligaste operationerna i webbapplikationsmiljön. Här är den grundläggande syntaxen:

filter_var(variable, filter, options)

Denna funktion filter_var tar 3 parametrar. De sista två parametrarna, filter och alternativ är valfria. Den första är en variabel eller själva identifierarna. Det här är det vi vill filtrera, det andra är vad vi vill göra (i detta passerar vi i princip ID för de tillgängliga alternativen i PHP), och den sista är de filterrelaterade alternativen. Låt oss förstå detsamma med ett frågesportexempel:

<_?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 exemplet ovan använder vi ett filter och kontrollerar om vi har ett heltal i variabeln $ int_val eller inte. Så här är utgången för densamma.

Produktion:

Varför använder vi Filter i PHP?

Många PHP-webbapplikationer får extern input från klientsidan. Tanken bakom att använda detta är att rengöra användarinmatningen innan behandlingen, eftersom vi inte kan förvänta oss att användaren lägger all information korrekt. Alla externa användare eller systeminmatningar eller data kan leda till en kritisk säkerhetsproblem.

Vi kan filtrera här för att desinficera data som matats in från olika externa källor som:

  • Direkt klientanvändarinmatning från formuläret
  • Data om kakor
  • Data från webbtjänsterna
  • Data för servervariablerna
  • Resultat från databasfrågan

PHP-filter och saneringsmedel ger tillsammans möjligheten att vi kan få om en ingång är giltig eller inte. Om inte en giltig inmatning, i det här fallet, kan vi sanera det för att göra en giltig inmatning. I det kommande exempelavsnittet kommer vi att diskutera olika exempel.

Exempel på filter

Det finns olika typer av filter tillgängliga i PHP. Vi kan kontrollera den listan med funktionen filter_list (). I grund och botten kan dessa filterfunktioner användas för att filtrera URL: n, sträng, nummer, IP-adress etc.

Exempel 1

I det här avsnittet kommer vi att se de olika filterexempelprogrammen en efter en.

Sanera en sträng

För att kontrollera om en sträng är giltig eller inte

<_?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 exemplet ovan kan vi se en giltig sträng som är därför det ger den giltiga strängen.

Produktion:

Få den sanerade strängen som en utgång

<_?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 att vi har två olika utgångar. Vi kan se resultatet innan sanering och efter sanering är annorlunda. Efter sanering har HTML-taggar tagits bort med PHP-filterfunktionen.

Produktion:

Exempel 2

Validera en IP-adress

PHP-filterfunktion kan göra det här jobbet för oss. Låt oss se exemplet.

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

Produktion:

Exempel 3

Sanera och validera en e-postadress

<_?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 exemplet ovan har vi ett ogiltigt värde för e-post-id eftersom vi får utdata med hjälp av filterfunktionen. Men i det ögonblick vi desinficerar ger det rätt e-post.

Produktion:

<_?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 exemplet ovan PHP-kod kontrollerar vi om e-postmeddelandet är giltigt eller inte.

Produktion:

Exempel 4

Sanera och validera URL

I det här exemplet ser vi om en inmatad URL är giltig eller inte? Om inte en giltig URL kommer det att sanera det för att göra det korrekt.

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

Produktion:

Slutsats

Vi bör använda PHP-filtret för att validera eller sanera användarinmatningen. På detta sätt kan vi begränsa den sårbara användarinmatningen. Vi kan använda de olika PHP-filterfunktionerna för att validera användaringångarna och värdet. Vi kan också gå till att desinficera värdet (antingen användarinmatningen eller direkt tilldelad). Vi bör alltid använda PHP-saneringsapparaten innan vi använder kakadata för databehandlingen.

Rekommenderade artiklar

Detta har varit en guide till PHP-filter. Här diskuterar vi också syntaxen, varför vi använder ett filter i PHP och exempel. Du kan också titta på följande artiklar för att lära dig mer–

  1. PHP-ramverk
  2. Tableau-kontextfilter
  3. Vad är Angular 2?
  4. Mantis Bug Tracker
  5. Hur fungerar Cookies i JavaScript med Exempel?

Kategori: