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ù–
- Frame PHP
- Filtro di contesto del tableau
- Che cos'è Angular 2?
- Mantis Bug Tracker
- Come funzionano i cookie in JavaScript con esempio?