Maison  >  Article  >  développement back-end  >  Comment utiliser les filtres Sanitize pour filtrer les entrées utilisateur en PHP8 ?

Comment utiliser les filtres Sanitize pour filtrer les entrées utilisateur en PHP8 ?

PHPz
PHPzoriginal
2023-10-19 08:28:57675parcourir

如何在PHP8中使用Sanitize Filters过滤用户输入?

Comment utiliser les filtres Sanitize pour filtrer les entrées utilisateur en PHP8 ?

Introduction :
Dans le développement Web, les données saisies par les utilisateurs doivent généralement être vérifiées et filtrées pour garantir la validité et la sécurité des données. PHP8 introduit un nouveau mécanisme de filtrage, Sanitize Filters, qui peut facilement filtrer et traiter les entrées de l'utilisateur. Cet article explique comment utiliser les filtres Sanitize dans PHP8 pour filtrer les entrées des utilisateurs et fournit des exemples de code spécifiques.

1. Comprendre les filtres Sanitize
Les filtres Sanitize sont un mécanisme fourni par PHP pour filtrer et traiter les entrées des utilisateurs. En utilisant différentes fonctions de filtrage, il peut traiter différemment les données saisies par l'utilisateur, comme supprimer les balises HTML, échapper les caractères spéciaux, corriger les formats de date, etc. En utilisant les filtres Sanitize, vous pouvez prévenir efficacement les risques et les problèmes causés au système par un code malveillant ou des données non valides dans les entrées utilisateur.

2. Utilisez les filtres Sanitize pour filtrer les entrées de l'utilisateur
Voici quelques fonctions de filtrage des filtres Sanitize couramment utilisées et leur utilisation :

  1. Fonction filter_var()
    La fonction filter_var() est une fonction de filtrage couramment utilisée en PHP, utilisée pour filtrer une seule variable à filtrer. L'utilisation spécifique est la suivante :

    $input = $_POST['username'];
    $sanitized_input = filter_var($input, FILTER_SANITIZE_STRING);

    Dans l'exemple de code ci-dessus, l'entrée utilisateur nommée "nom d'utilisateur" est obtenue à partir du tableau $_POST, puis filtrée à l'aide du filtre FILTER_SANITIZE_STRING.

  2. Fonction filter_input()
    La fonction filter_input() est utilisée pour filtrer les variables d'entrée obtenues via GET, POST, etc. L'utilisation spécifique est la suivante :

    $sanitized_input = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);

    Dans l'exemple de code ci-dessus, la fonction filter_input() est utilisée pour obtenir l'entrée utilisateur nommée "nom d'utilisateur" à partir de INPUT_POST, et elle est filtrée à l'aide du filtre FILTER_SANITIZE_STRING.

  3. Fonction filter_var_array() La fonction filter_var_array() est utilisée pour filtrer un ensemble de variables d'entrée. L'utilisation spécifique est la suivante :

    $input = array(
     'username' => $_POST['username'],
     'password' => $_POST['password']
    );
    
    $filters = array(
     'username' => FILTER_SANITIZE_STRING,
     'password' => FILTER_SANITIZE_STRING
    );
    
    $sanitized_input = filter_var_array($input, $filters);

    Dans l'exemple de code ci-dessus, stockez d'abord l'entrée qui doit être filtrée dans un tableau $input, puis créez un tableau de filtres $filters correspondant au tableau d'entrée. Enfin, utilisez la fonction filter_var_array() pour filtrer le tableau d'entrée et stockez les résultats filtrés dans $sanitized_input.

3. Exemple de démonstration

Ce qui suit est un exemple simple pour montrer comment utiliser les filtres Sanitize pour filtrer les entrées utilisateur en PHP8 :

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $input = array(
        'username' => $_POST['username'],
        'password' => $_POST['password']
    );

    $filters = array(
        'username' => FILTER_SANITIZE_STRING,
        'password' => FILTER_SANITIZE_STRING
    );

    $sanitized_input = filter_var_array($input, $filters);

    // 输出过滤后的结果
    echo "用户名:" . $sanitized_input['username'] . "<br>";
    echo "密码:" . $sanitized_input['password'] . "<br>";
}
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <label>用户名:</label>
    <input type="text" name="username"><br>

    <label>密码:</label>
    <input type="password" name="password"><br>

    <input type="submit" value="提交">
</form>

Dans l'exemple de code ci-dessus, déterminez d'abord s'il s'agit d'une requête POST. obtenez-le via $_POST Nom d'utilisateur et mot de passe, filtrez-le et traitez-le à l'aide du filtre FILTER_SANITIZE_STRING. Enfin, les résultats filtrés sont émis via echo.

Conclusion : 

Utilisez les filtres Sanitize pour filtrer et traiter facilement les entrées des utilisateurs, améliorant ainsi la sécurité et la validité des données des applications Web. En comprenant l'utilisation des filtres Sanitize et en les combinant avec les besoins réels, vous pouvez utiliser ce mécanisme de manière flexible pour filtrer et traiter les entrées des utilisateurs. Lors du développement d'applications Web, il est important de filtrer et de valider correctement les entrées des utilisateurs afin de fournir des services plus sécurisés et plus fiables.

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!

Déclaration:
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