Comment empêcher la falsification des données d'un formulaire PHP ?
Lors du développement de sites Web utilisant PHP, les formulaires sont une méthode d'interaction fréquemment utilisée. Cependant, nous sommes souvent confrontés à un grave problème de sécurité, à savoir le risque de falsification des données du formulaire. Les pirates peuvent effectuer de mauvaises opérations en altérant les données du formulaire, par exemple en soumettant des données de manière malveillante, en modifiant les informations d'autres personnes, etc. Afin d'éviter que cela ne se produise, nous devons ajouter quelques mesures de sécurité à PHP. Ce qui suit présente quelques méthodes courantes pour empêcher la falsification des données des formulaires PHP.
Le principe de la vérification de session est que lorsqu'un utilisateur accède au site Web, le serveur lui attribue un identifiant de session unique et enregistre l'identifiant sur le serveur. Lorsque l'utilisateur soumet le formulaire, le serveur comparera si l'ID de session soumis dans le formulaire est cohérent avec l'ID de session enregistré par le serveur. S'ils sont incohérents, la source de données peut être illégale.
Exemple de code :
session_start(); if(isset($_SESSION['token']) && $_POST['token'] == $_SESSION['token']){ // 验证通过,处理表单数据 }else{ // 验证失败,提示错误信息 }
Le principe de la vérification du jeton est d'intégrer un jeton généré aléatoirement dans le formulaire et d'envoyer le jeton au serveur lorsque le formulaire est soumis. Une fois que le serveur l'a reçu, il vérifie si le jeton sous la forme est cohérent avec le jeton stocké sur le serveur. S'ils sont cohérents, la vérification réussit.
Exemple de code :
session_start(); if(isset($_POST['token']) && $_POST['token'] == $_SESSION['token']){ // 验证通过,处理表单数据 }else{ // 验证失败,提示错误信息 }
Exemple de code :
if($_SERVER['HTTPS'] != 'on'){ header("Location: https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); exit(); }
Exemple de code :
if(!preg_match("/^1[3456789]d{9}$/", $_POST['phone'])){ // 手机号格式不正确,提示错误信息 } if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){ // 邮箱格式不正确,提示错误信息 }
Exemple de code :
$password = md5($_POST['password']); // 使用MD5加密密码 // 存储到数据库
Résumé :
En vérifiant la source des données du formulaire, en utilisant le protocole HTTPS, en vérifiant la légalité des données et en chiffrant et stockant les données sensibles, nous pouvons efficacement prévenir le risque de falsification des données du formulaire PHP. . Lors du développement, nous devons toujours donner la priorité à la sécurité pour garantir que les données des utilisateurs ne soient pas attaquées par des pirates informatiques.
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!