Validation du formulaire PHP

Validation du formulaire PHP

Dans ce chapitre, nous présenterons comment utiliser PHP pour vérifier les données du formulaire soumises par le client.

Les entrées utilisateur doivent être validées (via le script client) autant que possible. La validation du navigateur est plus rapide et réduit la charge sur le serveur.

Si les entrées de l'utilisateur doivent être insérées dans une base de données, vous devriez envisager d'utiliser la validation du serveur. Un bon moyen de valider un formulaire sur le serveur est de se transmettre le formulaire à lui-même, plutôt que de passer à une autre page. De cette façon, les utilisateurs peuvent recevoir des messages d’erreur sur la même page de formulaire. Il sera plus facile pour les utilisateurs de trouver les erreurs.

Nous devons prendre en compte la sécurité lors du traitement des formulaires PHP.

Dans ce chapitre, nous démontrerons le traitement sécurisé des données du formulaire PHP. Afin de prévenir les pirates informatiques et le spam, nous devons effectuer une vérification de la sécurité des données sur le formulaire.

Exemple de validation de formulaire PHP

QQ图片20161009114426.png

Le formulaire ci-dessus utilise les règles de validation suivantes :

QQ图片20161009114556.png

Nous examinons d'abord le code HTML pur de ce formulaire :

Les champs de texte

le nom, l'e-mail et le site Web sont des éléments de saisie de texte, et le champ de commentaire est une zone de texte. Le code HTML est comme ceci :

Name:  E-mail:  Website:  Comment: 



Bouton radio

Le champ genre est un seul bouton Sélectionner, le code HTML est comme ceci :

Gender: Female Male

Élément de formulaire

Le code HTML du formulaire est comme ceci :

">

Lorsque ce formulaire est soumis, les données du formulaire sont envoyées via method="post".


Qu'est-ce que la variable $_SERVER["PHP_SELF"] ?

$_SERVER["PHP_SELF"] est une variable super globale qui renvoie le nom de fichier du script en cours d'exécution.

Ainsi, $_SERVER["PHP_SELF"] envoie les données du formulaire à la page elle-même au lieu de passer à une autre page. De cette manière, les utilisateurs peuvent obtenir des informations sur les messages d'erreur sur la page du formulaire.


Qu'est-ce que la fonction htmlspecialchars() ? La fonction

htmlspecialchars() convertit les caractères spéciaux en entités HTML. Cela signifie que les caractères HTML tels que < et > Cela empêche les attaquants d'exploiter le code en injectant du code HTML ou JavaScript dans le formulaire (attaques de cross-site scripting).


Rappel important sur la sécurité des formulaires PHP

Les variables $_SERVER["PHP_SELF"] peuvent être exploitées par des hackers !

Si votre page utilise PHP_SELF, les utilisateurs peuvent saisir un trait de soulignement et exécuter des scripts intersites (XSS).

Conseil : les scripts intersites (XSS) sont un type de vulnérabilité de sécurité informatique que l'on trouve couramment dans les applications Web. XSS permet à un attaquant de saisir un script côté client dans des pages Web consultées par d'autres utilisateurs.


Supposons que nous ayons le formulaire suivant dans une page nommée "test_form.php" :

">

Maintenant, si l'utilisateur saisit l'URL normale dans la barre d'adresse : "http://www php.cn. /test_form.php", le code ci-dessus sera converti en :


Jusqu'à présent, tout est normal.

Cependant, si l'utilisateur tape l'URL suivante dans la barre d'adresse :

//m.sbmmt.com/test_form.php/%22%3E%3Cscript%3Ealert(' php ')%3C/script%3E

Dans ce cas, le code ci-dessus sera converti en :


Ce code ajoute un script et une commande d'invite. Et lorsque la page se chargera, le code JavaScript sera exécuté (l'utilisateur verra une info-bulle). Ceci est juste un exemple simple et inoffensif de la façon dont la variable PHP_SELF peut être exploitée.


Vous devez savoir que la balise


- Le code ne sera pas exécuté car il sera enregistré sous forme de code d'échappement, comme ceci :


Maintenant, ce code est affiché sur la page ou dans l'e- le courrier est en sécurité.

Lorsque l'utilisateur soumet le formulaire, nous devons faire deux autres choses :

1. (Grâce à la fonction PHP trim()) Supprimer les caractères inutiles (espaces supplémentaires) dans les données saisies par l'utilisateur. , tabulation, nouvelle ligne)

2. (via la fonction PHP stripslashes()) Supprimez les barres obliques inverses dans les données d'entrée utilisateur ()

Ensuite, nous créons une fonction de vérification (par rapport à l'écriture de code encore et encore le rend plus efficace).

Nous avons nommé la fonction test_input().


Formation continue
||
菜鸟教程(runoob.com)

PHP 表单验证实例

* 必需字段。

"> 名字: *

E-mail: *

网址:

备注:

性别: value="female">女 value="male">男 *

您输入的内容是:"; echo $name; echo "
"; echo $email; echo "
"; echo $website; echo "
"; echo $comment; echo "
"; echo $gender; ?>
soumettre Réinitialiser le code
À 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!