Esercitazione PHP

PHP HOME Introduzione a PHP Installazione PHP Sintassi PHP Commenti PHP Variabili PHP PHP Eco/Stampa Tipi di dati PHP Stringhe PHP Numeri PHP PHP matematica Costanti PHP Operatori PHP PHP Se...Altro...Altro Passaggio PHP Ciclo PHP Funzioni PHP Array PHP Superglobali PHP RegEx PHP

Moduli PHP

Gestione dei moduli PHP Convalida del modulo PHP Modulo PHP richiesto URL/e-mail del modulo PHP Modulo PHP completo

PHP avanzato

Data e ora PHP PHP Include Gestione dei file PHP Apri/Leggi file PHP Creazione/scrittura di file PHP Caricamento file PHP Cookie PHP Sessioni PHP Filtri PHP Filtri PHP avanzati Funzioni di callback PHP PHP JSON Eccezioni PHP

PHP OOP

PHP Che cos'è OOP Classi/Oggetti PHP Costruttore PHP PHP distruttore Modificatori di accesso PHP Ereditarietà PHP Costanti PHP Classi astratte PHP Interfacce PHP Tratti PHP Metodi statici PHP Proprietà statiche PHP Spazi dei nomi PHP Iterabili PHP

Database MySQL

Database MySQL MySQL Connect MySQL Crea DB MySQL Crea tabella Dati di inserimento MySQL MySQL Ottieni l'ultimo ID MySQL inserisce più MySQL preparato MySQL Seleziona dati MySQL dove MySQL Ordina per MySQL Elimina dati Dati di aggiornamento MySQL Dati limite MySQL

PHP XML

Parser XML PHP Analizzatore PHP SimpleXML PHP SimpleXML - Ottieni PHP XML espatriato PHP XML DOM

PHP - AJAX

Introduzione all'Ajax AJAX PHP Database AJAX XML AJAX Ricerca in tempo reale AJAX Sondaggio AJAX

Esempi PHP

Esempi PHP compilatore PHP Quiz PHP Esercizi PHP Certificato PHP

Riferimento PHP

Panoramica di PHP matrice PHP Calendario PHP Data PHP Directory PHP Errore PHP Eccezione PHP File system PHP Filtro PHP PHP FTP PHP JSON Parole chiave PHP PHP Libxml Posta PHP PHP matematica PHP Varie PHP MySQLi Rete PHP Controllo dell'output PHP RegEx PHP PHP SimpleXML Flusso PHP Stringa PHP Gestione delle variabili PHP Analizzatore XML PHP Zip PHP Fuso orario PHP

Filtri PHP


Convalida dei dati = Determina se i dati sono nella forma corretta.

Sanificazione dei dati = Rimuovere qualsiasi carattere illegale dai dati.


L'estensione del filtro PHP

I filtri PHP vengono utilizzati per convalidare e disinfettare l'input esterno.

L'estensione del filtro PHP ha molte delle funzioni necessarie per controllare l'input dell'utente ed è progettata per rendere la convalida dei dati più semplice e veloce.

La filter_list()funzione può essere utilizzata per elencare ciò che offre l'estensione del filtro PHP:

Esempio

<table>
  <tr>
    <td>Filter Name</td>
    <td>Filter ID</td>
  </tr>
  <?php
  foreach (filter_list() as $id =>$filter) {
    echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
  }
  ?>
</table>

Perché usare i filtri?

Molte applicazioni web ricevono input esterno. Input/dati esterni possono essere:

  • Input dell'utente da un modulo
  • Biscotti
  • Dati dei servizi web
  • Variabili del server
  • Risultati della query del database

Dovresti sempre convalidare i dati esterni!
Dati inviati non validi possono causare problemi di sicurezza e danneggiare la tua pagina web!
Usando i filtri PHP puoi essere sicuro che la tua applicazione riceve l'input corretto!



PHP filter_var () Funzione

La filter_var()funzione convalida e disinfetta i dati.

La filter_var()funzione filtra una singola variabile con un filtro specificato. Occorrono due dati:

  • La variabile che vuoi controllare
  • Il tipo di controllo da utilizzare

Disinfetta una stringa

L'esempio seguente usa la filter_var()funzione per rimuovere tutti i tag HTML da una stringa:

Esempio

<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>

Convalida un numero intero

L'esempio seguente usa la filter_var()funzione per verificare se la variabile $int è un numero intero. Se $int è un numero intero, l'output del codice seguente sarà: "Integer is valid". Se $int non è un numero intero, l'output sarà: "Il numero intero non è valido":

Esempio

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
  echo("Integer is valid");
} else {
  echo("Integer is not valid");
}
?>

Suggerimento: filter_var() e problema con 0

Nell'esempio sopra, se $int è stato impostato su 0, la funzione sopra restituirà "Intero non valido". Per risolvere questo problema, utilizzare il codice seguente:

Esempio

<?php
$int = 0;

if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
  echo("Integer is valid");
} else {
  echo("Integer is not valid");
}
?>

Convalida un indirizzo IP

L'esempio seguente usa la filter_var()funzione per verificare se la variabile $ip è un indirizzo IP valido:

Esempio

<?php
$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
  echo("$ip is a valid IP address");
} else {
  echo("$ip is not a valid IP address");
}
?>

Disinfetta e convalida un indirizzo email

L'esempio seguente usa la filter_var()funzione per rimuovere prima tutti i caratteri illegali dalla variabile $email, quindi controlla se si tratta di un indirizzo email valido:

Esempio

<?php
$email = "[email protected]";

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
  echo("$email is a valid email address");
} else {
  echo("$email is not a valid email address");
}
?>

Disinfetta e convalida un URL

L'esempio seguente usa la filter_var()funzione per rimuovere prima tutti i caratteri illegali da un URL, quindi controlla se $url è un URL valido:

Esempio

<?php
$url = "https://www.w3schools.com";

// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
  echo("$url is a valid URL");
} else {
  echo("$url is not a valid URL");
}
?>

Riferimento completo al filtro PHP

Per un riferimento completo di tutte le funzioni di filtro, vai al nostro Riferimento completo sui filtri PHP. Controlla ogni filtro per vedere quali opzioni e flag sono disponibili.

Il riferimento contiene una breve descrizione, ed esempi di utilizzo, per ciascuna funzione!