Gli ultimi tutorial di sviluppo web
 

PHP filtri


Dati Convalida = Determinare se i dati sono in forma corretta.

Sanificazione data = Rimuovere qualsiasi carattere illegale dai dati.


L'estensione PHP Filter

filtri PHP sono utilizzati per convalidare e sanificare ingresso esterno.

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

Il 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>
Esempio Run »

Perché usare i filtri?

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

  • L'input dell'utente da un modulo
  • Cookies
  • dati servizi Web
  • variabili del server
  • i risultati delle query di database

Si dovrebbe sempre convalidare i dati esterni!
dati presentati non validi possono portare a problemi di sicurezza e rompere la tua pagina web!
Utilizzando i filtri PHP si può essere che l'applicazione ottiene l'ingresso corretto!


PHP filter_var() Funzione

Il filter_var() funzione sia convalidare e disinfettare dati.

Il filter_var() funzione filtra una singola variabile con un filtro specificato. Ci vogliono due pezzi di dati:

  • La variabile che si desidera controllare
  • Il tipo di controllo da utilizzare

Sterilizzare una stringa

L'esempio seguente utilizza il 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;
?>
Esempio Run »

Convalidare un Integer

Il seguente esempio si utilizza il filter_var() funzione per controllare se la $ variabile int è un intero. Se $ int è un intero, l'output del codice qui sopra sarà: "Integer is valid" . Se $ int non è un intero, l'uscita sarà: "Integer is not valid" :

Esempio

<?php
$int = 100;

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

Suggerimento: filter_var() e problema con 0

Nel precedente esempio, se $ int è stato impostato su 0, la funzione di cui sopra restituirà "Integer is not valid" . Per risolvere questo problema, utilizzare il codice qui sotto:

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");
}
?>
Esempio Run »

Convalida di un indirizzo IP

L'esempio seguente utilizza il filter_var() funzione per controllare se il $ ip variabile è 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");
}
?>
Esempio Run »

Disinfettare e convalida di un indirizzo e-mail

L'esempio seguente utilizza il filter_var() funzione per rimuovere prima tutti i caratteri non validi dalla variabile $ email, quindi verificare 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");
}
?>
Esempio Run »

Disinfettare e convalida un URL

L'esempio seguente utilizza il filter_var() funzione per rimuovere prima tutti i caratteri non validi da un URL, quindi verificare se $ url è un URL valido:

Esempio

<?php
$url = "http://www.w3ii.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");
}
?>
Esempio Run »

Completa PHP filtro di riferimento

Per un riferimento completo di tutte le funzioni di filtro, vai alla nostra completa PHP filtro di riferimento. Controllare ogni filtro per vedere quali opzioni sono disponibili e bandiere.

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