Lors du développement d'applications Web, la vérification du formulaire est une étape importante pour assurer la validité des données d'entrée de l'utilisateur. En plus de vérifier le format de données, nous devons également déterminer si l'utilisateur a modifié les données d'origine, en particulier en ce qui concerne les mises à jour de données sensibles. PHP fournit une fonction utile array_diff_assoc () , qui peut nous aider à déterminer la différence entre deux tableaux, puis vérifier si l'utilisateur a falsifié les données d'origine.
La fonction array_diff_assoc () est utilisée pour calculer les différences entre deux tableaux. Il compare les noms de clés et les valeurs clés des deux tableaux. Si les noms de clés ou les valeurs de clé dans le tableau changent, la fonction renvoie ces différences. Cette fonctionnalité fait de Array_Diff_assoc () un choix idéal pour déterminer si l'utilisateur modifie les données dans la vérification du formulaire.
array_diff_assoc(array $array1, array $array2)
Array1 : le premier tableau.
Array2 : Le deuxième tableau, utilisé pour comparer avec le premier tableau.
Cette fonction renvoie un tableau contenant des différences, où des éléments avec différents noms et valeurs de clés sont renvoyés.
Supposons que nous ayons un formulaire d'édition d'utilisateur et que les données d'origine sont stockées dans la base de données. Lorsqu'un utilisateur soumet un formulaire, nous voulons vérifier que l'utilisateur a modifié les données d'origine. Pour ce faire, nous pouvons comparer les données de formulaire soumises par l'utilisateur avec les données d'origine. Si la différence est trouvée, cela signifie que l'utilisateur a modifié les données.
<?php
// Données brutes(Supposons qu'il est récupéré de la base de données)
$original_data = [
'username' => 'john_doe',
'email' => 'john@example.com',
'age' => 30
];
// Données de formulaire soumis à l'utilisateur
$form_data = [
'username' => 'john_doe', // Supposons qu'il n'est pas modifié
'email' => 'john_new@example.com', // L'utilisateur a modifié l'adresse e-mail
'age' => 30
];
// utiliser array_diff_assoc() Comparez les données
$diff = array_diff_assoc($original_data, $form_data);
if (empty($diff)) {
echo "用户未修改Données brutes。";
} else {
echo "L'utilisateur a modifié les données: ";
print_r($diff);
}
?>
L'utilisateur a modifié les données:
Array
(
[email] => john_new@example.com
)
Dans cet exemple, nous supposons que les données d'origine sont stockées dans le tableau $ original_data , et le tableau $ form_data contient les données de formulaire soumises par l'utilisateur. En appelant la fonction array_diff_assoc () , nous pouvons détecter les différences dans le champ de messagerie , indiquant que l'utilisateur a modifié la boîte aux lettres.
Précision : array_diff_assoc () compare non seulement les noms de clés, mais compare également les valeurs clés. Par conséquent, il ne renvoie la différence que si le nom de clé ou la valeur de la clé change.
Simplicité : cette fonction peut trouver intuitivement les différences entre les tableaux sans traverser manuellement le tableau.
Sécurité : De cette façon, nous pouvons empêcher les utilisateurs de falsifier des champs cachés dans le formulaire ou de modifier directement les données d'origine.
Formulaire de modification du mot de passe : Lorsque l'utilisateur modifie le mot de passe, il peut comparer le mot de passe d'origine avec le mot de passe soumis pour s'assurer que l'utilisateur n'a pas modifié le contenu autre que le mot de passe.
Modifier les informations du compte : par exemple, la modification de l'adresse e-mail, le nom d'utilisateur, etc., vous pouvez déterminer si l'utilisateur n'a modifié que la pièce qu'il souhaite modifier et éviter les modifications inutiles.
Audit des données : dans certains systèmes qui nécessitent l'enregistrement des opérations utilisateur, les données que les utilisateurs ont modifiées peuvent être enregistrées via array_diff_assoc () pour faciliter les audits ultérieurs.
Grâce à la fonction Array_Diff_assoc () , les développeurs peuvent facilement déterminer si l'utilisateur a modifié les données dans le formulaire. Son application dans la vérification de formulaire peut augmenter efficacement la sécurité du système et éviter la falsification des données et d'autres risques de sécurité potentiels. Si vous travaillez avec des données sensibles, il est recommandé d'utiliser cette méthode pour assurer l'intégrité des données.