Filtres PHP

PHPz
Libérer: 2024-08-29 13:03:46
original
665 Les gens l'ont consulté

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

Syntaxe

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)
Copier après la connexion

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
}
?>
Copier après la connexion

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 :

Filtres PHP

Pourquoi utilisons-nous le filtre en PHP ?

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 :

  • 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 de la requête de base de données

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.

Exemples de filtres en PHP

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.

Exemple n°1

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
}
?>
Copier après la connexion

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

Sortie :

Filtres PHP

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;
?>
Copier après la connexion

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 :

Filtres PHP

Exemple n°2

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
}
?>
Copier après la connexion

Sortie :

Filtres PHP

Exemple #3

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);
?>
Copier après la connexion

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 :

Filtres PHP

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
}
?>
Copier après la connexion

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

Sortie :

Filtres PHP

Exemple n°4

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);
?>
Copier après la connexion

Sortie :

Filtres PHP

Conclusion

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!

Étiquettes associées:
php
source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!