Derniers tutoriels de développement web
 

PHP Filtres


= Déterminer la validation des données si les données sont en bonne et due forme.

Désinfectante données = Supprimer tout caractère illégal des données.


Le filtre PHP Extension

les filtres PHP sont utilisés pour valider et désinfectez entrée externe.

L'extension du filtre PHP a plusieurs des fonctions nécessaires pour le contrôle de l'entrée d'utilisateur, et est conçu pour faciliter la validation des données plus facile et plus rapide.

Le filter_list() fonction peut être utilisée pour lister ce que l'extension du filtre PHP offre:

Exemple

<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>
»Exécuter exemple

Pourquoi utiliser des filtres?

De nombreuses applications Web reçoivent l'entrée externe. entrée externe / données peuvent être:

  • entrée d'utilisateur d'un formulaire
  • Cookies
  • les données de services Web
  • Les variables de serveur
  • résultats de la requête de base de données

Vous devez toujours valider des données externes!
les données soumises non valides peuvent entraîner des problèmes de sécurité et de briser votre page web!
En utilisant les filtres de PHP, vous pouvez être sûr que votre application obtient l'entrée correcte!


PHP filter_var() Fonction

Le filter_var() fonction à la fois de valider et de désinfecter les données.

Le filter_var() fonction filtre une seule variable avec un filtre spécifique. Il faut deux données:

  • La variable que vous voulez vérifier
  • Le type de contrôle à utiliser

Désinfectez une chaîne

L'exemple suivant utilise la filter_var() fonction pour supprimer toutes les balises HTML d'une chaîne:

Exemple

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

Valider un entier

L'exemple suivant utilise le filter_var() fonction pour vérifier si la variable $ int est un nombre entier. Si $ int est un entier, la sortie du code ci - dessus sera: "Integer is valid" . Si $ int est pas un entier, la sortie sera: "Integer is not valid" :

Exemple

<?php
$int = 100;

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

Astuce: filter_var() et problème avec 0

Dans l'exemple ci - dessus, si int $ a été fixé à 0, la fonction ci - dessus retourne "Integer is not valid" . Pour résoudre ce problème, utilisez le code ci-dessous:

Exemple

<?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");
}
?>
»Exécuter exemple

Valider une adresse IP

L'exemple suivant utilise la filter_var() fonction pour vérifier si la variable $ ip est une adresse IP valide:

Exemple

<?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");
}
?>
»Exécuter exemple

Désinfectez et valider une adresse e-mail

L'exemple suivant utilise la filter_var() fonction d'abord supprimer tous les caractères illégaux de la variable $ email, vérifiez si elle est une adresse email valide:

Exemple

<?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");
}
?>
»Exécuter exemple

Désinfectez et valider une URL

L'exemple suivant utilise la filter_var() fonction d'abord supprimer tous les caractères illégaux à partir d' une URL, vérifiez si l' URL $ est une URL valide:

Exemple

<?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");
}
?>
»Exécuter exemple

Filtre complet PHP Référence

Pour une référence complète de toutes les fonctions de filtrage, allez à notre complet Référence PHP Filter. Vérifiez chaque filtre pour voir les options et les drapeaux sont disponibles.

La référence contient une brève description, ainsi que des exemples d'utilisation, pour chaque fonction!