Très peu de langues disposent de fonctionnalités de filtrage. Les filtres sont l'une des fonctionnalités à valeur ajoutée des langages de programmation. Cela nous aide à filtrer les données ou la chaîne avant le traitement. C’est l’appel du moment pour utiliser cela pour éviter certains problèmes de vulnérabilité dans le système. Les filtres PHP peuvent être utilisés pour valider ou nettoyer les entrées externes. Le filtre PHP est une extension avec diverses fonctions et fonctionnalités que nous pouvons utiliser lors du codage. Par exemple, si nous prenons les entrées d'un client à partir d'un formulaire comme identifiant de messagerie, nous devons les valider ou les nettoyer avant toute opération liée à la base de données. En tant que codeurs ou développeurs, nous devons utiliser ces filtres en PHP selon les besoins et exigences de notre entreprise.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
La désinfection et les filtres sont les opérations les plus courantes dans l'environnement des applications Web. Voici la syntaxe de base :
filter_var(variable, filter, options)
Cette fonction filter_var prend 3 paramètres. Les 2 derniers paramètres, le filtre et les options sont optionnels. La première est une variable ou l'identifiant lui-même. C'est celui que nous voulons filtrer, le second est ce que nous voulons faire (en cela, nous transmettons l'ID des options disponibles en PHP), et le dernier est les options liées au filtre. Comprenons la même chose avec un exemple de quiz :
Code :
<?php $int_val = 200; if(filter_var($int_val, FILTER_VALIDATE_INT)){ echo "The <b>$int_val</b> is a valid one."; // valid } else{ echo "The <b>$int_val</b> not a valid input as an integer"; // invalid } ?>
Dans l'exemple ci-dessus, nous utilisons un filtre et vérifions si nous avons une valeur entière dans la variable $int_val. Voici donc le résultat pour le même.
Sortie :
De nombreuses applications Web PHP reçoivent une entrée externe du côté client. L’idée est de nettoyer les entrées de l’utilisateur avant le traitement, car nous ne pouvons pas nous attendre à ce que l’utilisateur mette toutes les données correctement. Toute entrée ou donnée d'un utilisateur ou d'un système externe peut entraîner un problème de sécurité critique.
Nous pouvons filtrer ici pour assainir les données saisies à partir des différentes sources externes comme :
Ensemble, les filtres et désinfectants PHP nous permettent de savoir si une entrée est valide. Si ce n’est pas une entrée valide, dans ce cas, nous pouvons la nettoyer pour en faire une entrée valide. Dans la section d'exemples à venir, nous discuterons de divers exemples liés à cela.
Il existe différents types de filtres disponibles en PHP. Nous pouvons vérifier cette liste en utilisant la fonction filter_list(). Ces fonctions filtrent l'URL, la chaîne, le numéro, l'adresse IP, etc.
Dans cette section, nous verrons les différents exemples de programmes de filtrage individuellement.
Désinfecter une ficelle
Pour vérifier si une chaîne est valide ou non
Code :
<?php $comment = "Hello word"; if(filter_var($comment, FILTER_SANITIZE_STRING)){ echo "The <b>$comment</b> is a valid one."; // valid } else{ echo "The <b>$comment</b> not a valid input"; // invalid } ?>
Dans l'exemple ci-dessus, nous pouvons voir une chaîne valide ; c'est pourquoi il donne le valide.
Sortie :
Obtenir la chaîne désinfectée en sortie
<?php $comment = "<i>Hello word</i>"; echo "Before sanitizing: ". $comment; $comment = filter_var($comment, FILTER_SANITIZE_STRING); echo "<br>"; // for new line echo "After sanitizing: ". $comment; ?>
Nous pouvons voir que nous avons deux sorties différentes. Nous pouvons voir que le résultat avant et après la désinfection est différent. Après nettoyage, les balises HTML ont été supprimées par la fonction de filtre PHP.
Sortie :
Valider une adresse IP
La fonction de filtre PHP peut faire ce travail à notre place. Voyons l'exemple.
Code :
<?php $ip_address = "172.16.254.1:40"; if(filter_var($ip_address, FILTER_VALIDATE_IP)){ echo "The <b>$ip_address</b> is a valid one."; // valid } else{ echo "The <b>$ip_address</b> is not a valid input"; // invalid } ?>
Sortie :
Désinfection et validation d'une adresse email
Code :
<?php $email_address = "someone@@testmail.com"; code> echo "Before Sanitizing: " . $email_address ."<br>"; if(filter_var($email_address, FILTER_VALIDATE_EMAIL)){ echo "The <b>$email_address</b> is a valid one."; // valid } else{ echo "The <b>$email_address</b> not a valid input"; // invalid } echo "<br>"; echo "After Sanitizing: " . filter_var($email_address, FILTER_SANITIZE_EMAIL); ?>
Dans l'exemple ci-dessus, nous avons une valeur d'identifiant de messagerie invalide, car nous obtenons ce résultat en utilisant la fonction de filtre. Mais au moment où nous désinfectons, cela donne le bon email.
Sortie :
Code :
<?php $email_address = "[email protected]"; if(filter_var($email_address, FILTER_VALIDATE_EMAIL)){ echo "The <b>$email_address</b> is a valid one."; // valid } else{ echo "The <b>$email_address</b> not a valid input"; // invalid } ?>
Dans l'exemple de code PHP ci-dessus, nous vérifions si l'e-mail est valide.
Sortie :
Désinfecter et valider l'URL
Dans cet exemple, nous verrons si une URL d'entrée est valide. S'il ne s'agit pas d'une URL valide, il la nettoiera pour la corriger.
Code :
<?php $URL = "https://www.educba.com/��courses�"; echo "Before Sanitizing: " . $URL ."<br>"; if(filter_var($URL, FILTER_VALIDATE_URL)){ echo "The <b>$URL</b> is a valid one."; // valid } else{ echo "The <b>$URL</b> is not a valid input"; // invalid } echo "<br>"; echo "After Sanitizing: " . filter_var($URL, FILTER_SANITIZE_URL); ?>
Sortie :
Nous devrions utiliser le filtre PHP pour valider ou nettoyer les entrées de l'utilisateur. De cette façon, nous pouvons restreindre les entrées des utilisateurs vulnérables. Nous pouvons utiliser les différentes fonctions de filtre PHP pour valider les entrées utilisateur et la valeur. Nous pouvons également utiliser la désinfection pour nettoyer la valeur (soit la saisie de l'utilisateur, soit celle directement attribuée). Nous devons toujours utiliser le désinfectant PHP avant d'utiliser des données de cookies pour le traitement des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!