Maison  >  Article  >  développement back-end  >  Comment configurer la méthode de soumission de formulaire en PHP

Comment configurer la méthode de soumission de formulaire en PHP

PHPz
PHPzoriginal
2023-04-21 09:07:42979parcourir

PHP est un langage de script populaire largement utilisé dans le développement Web. Lorsque nous devons collecter des informations saisies par l’utilisateur sur une page Web, l’utilisation d’un formulaire est un bon choix. Lorsque vous utilisez un formulaire pour soumettre des données en PHP, vous devez effectuer certains réglages pour garantir que les données peuvent être reçues et traitées correctement.

Cet article se concentrera sur la façon de configurer les méthodes de soumission de formulaire, d'obtenir les données du formulaire et de prévenir les attaques de formulaire en PHP.

  1. Définir la méthode de soumission des formulaires

En HTML, il existe deux manières courantes de soumettre des formulaires : obtenir et publier. La méthode get ajoute les données du formulaire à l'URL, tandis que la méthode post encapsule les données et les envoie dans le corps du message de la requête HTTP. En PHP, nous pouvons accéder aux données du formulaire via les variables superglobales $_GET et $_POST, nous devons donc effectuer les paramètres correspondants en fonction des différentes méthodes de soumission de formulaire.

Voici un exemple de formulaire simple pour collecter le nom d'utilisateur et le mot de passe d'un utilisateur :

<form action="login.php" method="post">
    <label for="username">用户名:</label>
    <input type="text" id="username" name="username"><br>
    <label for="password">密码:</label>
    <input type="password" id="password" name="password"><br>
    <input type="submit" value="登录">
</form>

Dans ce formulaire, nous utilisons la méthode post pour soumettre des données à la page login.php. Dans login.php, le nom d'utilisateur et le mot de passe saisis dans le formulaire sont accessibles via $_POST['username'] et $_POST['password'].

Il convient de noter que lors de la soumission d'un formulaire, vous devez faire attention à la sécurité. L'utilisation de la méthode post peut encapsuler les données dans le corps du message de la requête HTTP, qui est plus sécurisée que la méthode get. Par conséquent, lors du traitement de formulaires contenant des informations sensibles, vous devez privilégier l’utilisation de la méthode post.

  1. Obtenir les données du formulaire

Obtenir les données du formulaire en PHP est très simple, il suffit d'utiliser la super variable globale correspondante. Si la méthode de soumission du formulaire est get, utilisez la super variable globale $_GET. Si la méthode de soumission du formulaire est post, utilisez la variable super globale $_POST.

Voici un exemple simple montrant comment obtenir des données de formulaire en PHP :

$username = $_POST['username'];
$password = $_POST['password'];
echo "您输入的用户名是:".$username."<br>";
echo "您输入的密码是:".$password."<br>";

Il convient de noter que lorsque nous utilisons $_POST ou $_GET pour obtenir des données de formulaire, nous devons toujours utiliser la fonction isset() pour déterminer si le La variable existe pour éviter les erreurs de variable non définie.

De plus, lors de l'utilisation de données externes non sécurisées (telles que l'obtention de données à partir de paramètres d'URL), des contrôles de sécurité et un filtrage sont nécessaires pour éviter les attaques telles que l'injection SQL.

  1. Prévenir les attaques par formulaire

Les attaques par formulaire font référence au comportement des attaquants utilisant la soumission de formulaire pour obtenir ou falsifier des données de sites Web. Les types courants d’attaques de formulaire incluent la falsification de requêtes intersites (CSRF) et l’injection SQL. Afin de prévenir les attaques de formulaires, nous devons prendre des mesures de sécurité appropriées.

3.1 Prévention des attaques CSRF

Le principe des attaques CSRF est que l'attaquant utilise les informations de connexion de la victime sur d'autres sites Web pour forger une requête POST vers le site Web cible, réalisant ainsi diverses attaques. Afin de prévenir les attaques CSRF, nous pouvons prendre les mesures suivantes :

(1) Utiliser la vérification du Token : générer un Token unique lorsque le formulaire est soumis et stocker le Token dans la variable Session. Lorsque le formulaire est soumis, vérifiez si le jeton correspond et sinon, rejetez la demande.

(2) Vérifier l'URL source : lorsque le formulaire est soumis, vérifiez si l'URL source est la même que celle du site cible. Si différent, rejetez la demande.

3.2 Prévention de l'injection SQL

L'injection SQL signifie que l'attaquant saisit du code SQL malveillant dans le formulaire pour obtenir un accès illégal à la base de données. Pour empêcher l'injection SQL, nous devons filtrer et échapper aux données saisies par l'utilisateur.

Ce qui suit est un exemple simple montrant comment utiliser la fonction mysqli_real_escape_string() pour échapper aux données saisies par l'utilisateur :

$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = mysqli_real_escape_string($conn, $_POST['password']);

Dans cet exemple, $conn représente l'objet de connexion à la base de données et la fonction mysqli_real_escape_string() est utilisée pour échapper à la chaîne de caractères d'entrée à échapper. Cela empêche le code malveillant saisi par les utilisateurs d'affecter la base de données.

Conclusion

L'utilisation de formulaires pour recueillir les commentaires des utilisateurs est une méthode courante dans le développement Web, mais vous devez faire attention aux mesures de sécurité et de protection. Il est relativement simple d'obtenir des données de formulaire ou de définir la méthode de soumission en PHP, mais vous devez faire attention aux variables non définies et au filtrage de sécurité. La prévention des attaques par formulaire nécessite des mesures de sécurité spécifiques, telles que la vérification des jetons et le filtrage SQL. Ce n'est qu'en prenant pleinement en compte la sécurité et les besoins réels que la soumission des formulaires pourra être rendue plus fiable et plus sécurisée.

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