Introduzione ai filtri PHP

Esistono pochissime lingue con funzionalità di filtro. I filtri sono una delle caratteristiche a valore aggiunto dei linguaggi di programmazione. Questo ci aiuta a filtrare i dati o la stringa prima dell'elaborazione. Questa è la chiamata del tempo per usarlo per prevenire alcuni problemi di vulnerabilità nel sistema. I filtri PHP possono essere utilizzati allo scopo di convalidare o disinfettare gli ingressi esterni. Fondamentalmente, il filtro PHP è un'estensione che presenta le sue varie funzioni e le caratteristiche che possiamo usare durante la codifica. Ad esempio, stiamo prendendo l'input del client da un modulo come ID e-mail, dovremmo convalidare o disinfettare prima dell'operazione relativa al database. Come programmatore o sviluppatore dovremmo utilizzare questi filtri in PHP secondo le nostre esigenze e requisiti aziendali.

Sintassi

La disinfezione e i filtri sono le operazioni più comuni nell'ambiente delle applicazioni web. Ecco la sintassi di base:

filter_var(variable, filter, options)

Questa funzione filter_var accetta 3 parametri. Gli ultimi 2 parametri, filtro e opzioni sono opzionali. La prima è una variabile o gli identificatori stessi. Questo è quello che vogliamo filtrare, il secondo è quello che vogliamo fare (in questo fondamentalmente passiamo l'ID delle opzioni disponibili in PHP) e l'ultimo è quello relativo al filtro. Comprendiamo lo stesso con un esempio di quiz:

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

Nell'esempio sopra, stiamo usando un filtro e controlliamo se abbiamo un valore intero nella variabile $ int_val o no. Quindi, ecco l'output per lo stesso.

Produzione:

Perché usiamo Filter in PHP?

Molte applicazioni Web PHP ricevono input esterni dal lato client. L'idea alla base dell'utilizzo di questo è di pulire l'input dell'utente prima dell'elaborazione, poiché non possiamo aspettarci che l'utente inserisca correttamente tutti i dati. Qualsiasi input o dati dell'utente o del sistema esterno può causare un problema di sicurezza critico.

Possiamo filtrare qui per disinfettare i dati inseriti da varie fonti esterne come:

  • Immissione diretta dell'utente del client dal modulo
  • Dati dei cookie
  • Dati dai servizi Web
  • Dati delle variabili del server
  • Risultati della query del database

I filtri PHP e i disinfettanti insieme consentono la possibilità di ottenere se un input è valido o meno. Se non è un input valido, in questo caso, possiamo disinfettarlo per renderlo valido. Nella prossima sezione di esempio, faremo vari esempi relativi a questo.

Esempio di filtro

Esistono vari tipi di filtri disponibili in PHP. Possiamo controllare quell'elenco usando la funzione filter_list (). Fondamentalmente, queste funzioni di filtro possono essere utilizzate per filtrare l'URL, la stringa, il numero, l'indirizzo IP, ecc.

Esempio 1

In questa sezione, vedremo i vari programmi di esempio di filtro uno per uno.

Disinfetta una stringa

Per verificare se una stringa è valida o meno

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

Nell'esempio sopra, possiamo vedere una stringa valida, ecco perché fornisce quella valida.

Produzione:

Ottieni la stringa disinfettata come output

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

Possiamo vedere che abbiamo due uscite diverse. Possiamo vedere l'output prima della sanificazione e la successiva sanificazione è diversa. Dopo la sanificazione, i tag HTML sono stati rimossi dalla funzione filtro PHP.

Produzione:

Esempio n. 2

Convalida un indirizzo IP

La funzione filtro PHP può fare questo lavoro per noi. Vediamo l'esempio.

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

Produzione:

Esempio n. 3

Disinfezione e convalida di un indirizzo e-mail

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

Nell'esempio sopra, abbiamo un valore non valido per l'ID e-mail poiché stiamo ottenendo questo output utilizzando la funzione filtro. Ma nel momento in cui lo disinfettiamo fornisce l'e-mail corretta.

Produzione:

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

Nel precedente codice PHP di esempio, stiamo verificando se l'e-mail è valida o meno.

Produzione:

Esempio n. 4

Disinfetta e convalida l'URL

In questo esempio, vedremo se un URL di input è valido o no? Se non è un URL valido, lo sanificherà per renderlo corretto.

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

Produzione:

Conclusione

Dovremmo usare il filtro PHP per convalidare o disinfettare l'input dell'utente. In questo modo, possiamo limitare l'input dell'utente vulnerabile. Possiamo utilizzare le varie funzioni del filtro PHP per convalidare gli input dell'utente e il valore. Possiamo anche optare per la sanificazione e per pulire il valore (sia l'input dell'utente o l'assegnazione diretta). Dovremmo sempre utilizzare il disinfettante PHP prima di utilizzare i dati dei cookie per l'elaborazione dei dati.

Articoli consigliati

Questa è stata una guida ai filtri PHP. Qui discutiamo anche la sintassi, perché utilizziamo un filtro in PHP ed esempi. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più–

  1. Frame PHP
  2. Filtro di contesto del tableau
  3. Che cos'è Angular 2?
  4. Mantis Bug Tracker
  5. Come funzionano i cookie in JavaScript con esempio?

Categoria: