Introduction aux filtres PHP

Il y a très peu de langues qui ont des 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 l'utiliser pour éviter certains problèmes de vulnérabilité dans le système. Les filtres PHP peuvent être utilisés dans le but de valider ou d'assainir les entrées externes. Fondamentalement, le filtre PHP est une extension qui propose ses diverses fonctions et les fonctionnalités que nous pouvons utiliser lors du codage. Par exemple, nous prenons l'entrée du client d'un formulaire comme identifiant de messagerie, nous devons valider ou filtrer avant l'opération liée à la base de données. En tant que codeur ou développeur, nous devons utiliser ces filtres en PHP selon nos besoins commerciaux et les exigences.

Syntaxe

L'assainissement et les filtres sont les opérations les plus courantes dans l'environnement d'application 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 facultatifs. Le premier est une variable ou les identifiants eux-mêmes. C'est celui que nous voulons filtrer, le second est ce que nous voulons faire (en gros, nous passons 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:

<_?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
)
?>

Dans l'exemple ci-dessus, nous utilisons un filtre et vérifions si nous avons une valeur entière dans la variable $ int_val ou non. Voici donc la sortie pour le même.

Production:

Pourquoi nous utilisons Filter en PHP?

De nombreuses applications Web PHP reçoivent une entrée externe du côté client. L'idée derrière l'utilisation de ceci est de nettoyer l'entrée utilisateur avant le traitement, car nous ne pouvons pas nous attendre à ce que l'utilisateur place correctement toutes les données. Toute entrée ou donnée utilisateur ou système externe peut entraîner un problème de sécurité critique.

Nous pouvons filtrer ici pour assainir les données entrées à partir des différentes sources externes comme:

  • Saisie directe de l'utilisateur client à partir du formulaire
  • Données des cookies
  • Données des services Web
  • Données des variables du serveur
  • Résultats des requêtes de base de données

Les filtres PHP et les désinfectants ensemble permettent de déterminer si une entrée est valide ou non. Si ce n'est pas une entrée valide, dans ce cas, nous pouvons l'assainir pour en faire une valide. Dans la section des exemples à venir, nous présenterons divers exemples à ce sujet.

Exemple de filtre

Il existe différents types de filtres disponibles en PHP. Nous pouvons vérifier cette liste en utilisant la fonction filter_list (). Fondamentalement, ces fonctions de filtrage peuvent être utilisées pour filtrer l'URL, la chaîne, le numéro, l'adresse IP, etc.

Exemple 1

Dans cette section, nous allons voir les différents programmes d'exemple de filtre un par un.

Désinfecter une chaîne

Pour vérifier si une chaîne est valide ou non

<_?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
)
?>

Dans l'exemple ci-dessus, nous pouvons voir une chaîne valide, c'est pourquoi elle donne la chaîne valide.

Production:

Obtenez la chaîne filtrée en sortie

<_?php
$comment = " Hello word ";
echo "Before sanitizing: ". $comment;
$comment = filter_var($comment, FILTER_SANITIZE_STRING);
echo "
"; // for new line
echo "After sanitizing: ". $comment;
?>

Nous pouvons voir que nous avons deux sorties différentes. Nous pouvons voir la sortie avant la désinfection et la désinfection après est différente. Après la désinfection, les balises HTML ont été supprimées par la fonction de filtre PHP.

Production:

Exemple # 2

Valider une adresse IP

La fonction de filtre PHP peut faire ce travail pour nous. Voyons l'exemple.

<_?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
)
?>

Production:

Exemple # 3

Désinfection et validation d'une adresse 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);
?>

Dans l'exemple ci-dessus, nous avons une valeur non valide pour l'identifiant de l'e-mail car nous obtenons cette sortie en utilisant la fonction de filtrage. Mais au moment où nous le désinfectons, il donne le bon e-mail.

Production:

<_?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
)
?>

Dans l'exemple de code PHP ci-dessus, nous vérifions si l'e-mail est valide ou non.

Production:

Exemple # 4

Assainir et valider l'URL

Dans cet exemple, nous verrons si une URL d'entrée est valide ou non? S'il ne s'agit pas d'une URL valide, il la nettoiera pour la corriger.

<_?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);
?>

Production:

Conclusion

Nous devons utiliser le filtre PHP pour valider ou assainir l'entrée utilisateur. De cette façon, nous pouvons restreindre l'entrée d'utilisateur vulnérable. Nous pouvons utiliser les différentes fonctions de filtre PHP pour valider les entrées utilisateur et la valeur. Nous pouvons également opter pour la désinfection pour nettoyer la valeur (soit l'entrée utilisateur ou directement affectée). Nous devons toujours utiliser le désinfectant PHP avant d'utiliser des données de cookies pour le traitement des données.

Articles recommandés

Cela a été un guide pour les filtres PHP. Ici, nous discutons également de la syntaxe, pourquoi nous utilisons un filtre en PHP et des exemples. Vous pouvez également consulter les articles suivants pour en savoir plus–

  1. Frameworks PHP
  2. Filtre de contexte Tableau
  3. Qu'est-ce que Angular 2?
  4. Mantis Bug Tracker
  5. Comment les cookies fonctionnent-ils en JavaScript avec l'exemple?