Position actuelle: Accueil> Derniers articles> Explication détaillée de la méthode de vérification de la sécurité de la source de soumission PHP

Explication détaillée de la méthode de vérification de la sécurité de la source de soumission PHP

M66 2025-09-20

Comment confirmer la source de soumission en php

Dans le développement de PHP, la confirmation de la source de soumission de formulaire est essentielle pour prévenir les demandes de contrefaçon. Les méthodes suivantes peuvent identifier efficacement si la demande de soumission provient de la page attendue et améliorer la sécurité du site Web.

Vérifiez l'en-tête de référence HTTP

L'en-tête de référence HTTP contient l'URL source où l'utilisateur accède à la page actuelle. En détectant cet en-tête, vous pouvez confirmer si la demande provient du même nom de domaine:

 if (isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'yourdomain.com') !== false) {
  // Demande du même nom de domaine
}

Vérifiez les données du post HTTP

Les données du post contient des informations sur les soumissions de formulaires. En vérifiant si la valeur d'un champ spécifique (comme un champ caché) répond aux attentes, vous pouvez vérifier la source de la demande:

 if (isset($_POST['nonce']) && $_POST['nonce'] === 'expected_nonce') {
  // Demande du formulaire attendu
}

Utilisation de jetons CSRF

Un jeton CSRF est une chaîne générée de manière aléatoire dans chaque session. Il peut être soumis en tant que champ caché dans le formulaire et comparé au jeton de la session:

 // Stocker dans une session CSRF Jeton
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));

// Inclure des champs cachés dans la forme
<input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token']; ?>">

// Vérifier soumisJeton
if (isset($_POST['csrf_token']) && $_POST['csrf_token'] === $_SESSION['csrf_token']) {
  // Demande du formulaire attendu
}

Vérifiez l'utilisation du sel

Le sel est une chaîne aléatoire qui est ajoutée aux données engagées et hachée pour empêcher la contrefaçon de données:

 // Générer du sel
$salt = bin2hex(random_bytes(32));

// Ajouter du sel aux données
$data = 'some_data' . $salt;

// Données de hachage
$hash = hash('sha256', $data);

// Vérifier soumis hash
if (isset($_POST['hash']) && $_POST['hash'] === $hash) {
  // Demande du formulaire attendu
}

Résumer

Grâce à une ou plusieurs des méthodes ci-dessus, les développeurs peuvent confirmer efficacement la source de soumissions de formulaires en PHP, empêchant ainsi les demandes de contrefaçon et améliorant la sécurité des applications Web.