Lors du développement d'applications Web, la vérification des données soumises par les utilisateurs est un lien très critique. Il empêche non seulement les données illégales d'affecter les fonctions du système, mais réduit également les risques de sécurité potentiels. PHP fournit un puissant outil intégré - filter_input_array () , qui peut vérifier plusieurs champs d'entrée à la fois.
La fonction filter_input_array () permet aux développeurs de spécifier des règles de vérification ou de nettoyage pour plusieurs champs d'entrée, terminant ainsi le traitement des données par lots en une seule étape. Cette fonction accepte deux paramètres:
Type d'entrée (tel que input_get , input_post , etc.)
Tableau de règles de vérification
Dans les applications pratiques, nous utilisons généralement les constantes prédéfinies suivantes pour représenter la source d'entrée:
const INPUT_GET = 'get';
const INPUT_POST = 'post';
const INPUT_COOKIE = 'cookie';
const INPUT_SERVER = 'server';
La règle de vérification prend la forme d'un tableau associatif, où la clé est le nom de champ et la valeur est le filtre correspondant, qui peut être un préréglage constant de filtre par PHP ou une structure de tableau contenant des options. Par exemple:
$filters = array(
'username' => FILTER_SANITIZE_STRING,
'email' => FILTER_VALIDATE_EMAIL,
'password' => array(
'filter' => FILTER_VALIDATE_REGEXP,
'options' => array('regexp' => '/^[a-zA-Z0-9]{6,}$/')
)
);
L'explication est la suivante:
Username utilise Filter_Sanitize_string pour filtrer les balises HTML potentielles et les caractères illégaux.
Email applique Filter_Validate_email pour s'assurer que son format est légal.
Le mot de passe utilise une vérification d'expression régulière pour s'assurer qu'elle se compose d'au moins 6 chiffres de lettres ou de chiffres.
Le code suivant montre comment utiliser une combinaison de règles de validation et de filter_input_array () pour gérer plusieurs champs dans une demande post:
const INPUT_GET = 'get';
const INPUT_POST = 'post';
$filters = array(
'username' => FILTER_SANITIZE_STRING,
'email' => FILTER_VALIDATE_EMAIL,
'password' => array(
'filter' => FILTER_VALIDATE_REGEXP,
'options' => array('regexp' => '/^[a-zA-Z0-9]{6,}$/')
)
);
$input = filter_input_array(INPUT_POST, $filters);
if ($input) {
// La vérification des entrées a réussi
// Continuez à traiter les données ici
echo '用户La vérification des entrées a réussi!';
} else {
// La vérification des entrées a échoué
echo '用户La vérification des entrées a échoué!';
}
Ce code définit d'abord les règles de vérification, puis utilise Filter_Input_Array () pour extraire et vérifier les données soumises par l'utilisateur à partir de la demande de poste. Si toutes les vérifications sont passées, la logique métier peut être poursuivie; Si la vérification échoue, un message d'erreur est sorti.
En utilisant Filter_Input_Array () , les développeurs PHP peuvent gérer plus efficacement la vérification de l'entrée du formulaire, en particulier lors du traitement de plusieurs champs, ce qui peut non seulement garder le code concis, mais également améliorer la maintenabilité et la flexibilité de la vérification. La définition flexible des règles peut également mieux faire face aux scénarios d'entrée complexes et aider à créer des applications Web plus sûres et plus stables.