Maison >développement back-end >tutoriel php >Comprendre les menaces et prendre le contrôle : l'art de la prévention PHP contre la falsification de requêtes intersites (CSRF)
L'éditeur PHP Zimo vous emmène dans l'art de la prévention contre la falsification de requêtes intersites PHP (CSRF). Les attaques CSRF sont l'une des menaces de sécurité réseau qui effectuent des opérations malveillantes en déguisant les demandes des utilisateurs. Il est crucial de comprendre comment identifier et prévenir les attaques CSRF. Apprenons ensemble comment mieux comprendre les menaces potentielles, maîtriser les contrôles mondiaux et assurer la sécurité des sites Web.
Les jetons de formulaire sont une simple mesure de prévention CSRF. Incluez un jeton généré aléatoirement dans chaque formulaire et validez ce jeton du côté du serveur. Si les jetons ne correspondent pas, la demande est rejetée.
Les jetons de synchronisation sont similaires aux jetons de formulaire, mais ils sont plus sécurisés. Une copie du jeton de synchronisation est stockée côté client et côté serveur et comparée à chaque requête. Si les jetons ne correspondent pas, la demande est rejetée.
Le jeton Anti-CSRF est une mesure de prévention CSRF plus avancée. Il utilise le champ Referer dans l'en-tête de la requête Http pour vérifier la source de la requête. Si le champ Référent ne correspond pas, la demande est rejetée.
En plus des méthodes ci-dessus, il existe d'autres mesures pour prévenir les attaques CSRF, notamment :
Voici un exemple de code qui montre comment utiliser les jetons de formulaire pour se protéger contre les attaques CSRF :
<?PHP session_start(); // 生成随机令牌 $token = bin2hex(random_bytes(16)); // 将令牌存储到会话中 $_SESSION["csrf_token"] = $token; ?> <fORM action="process.php" method="post"> <input type="hidden" name="csrf_token" value="<?php echo $token; ?>"> <input type="text" name="username"> <input type="passWord" name="password"> <input type="submit" value="Login"> </form> <?php // 处理表单 if (isset($_POST["csrf_token"]) && $_POST["csrf_token"] === $_SESSION["csrf_token"]) { // 表单已验证,可以安全地处理数据 } else { // 表单未验证,拒绝请求 echo "Invalid CSRF token."; } ?>
Les attaques CSRF constituent une menace sérieuse, mais elle peut être évitée en prenant les précautions appropriées. En utilisant des jetons de formulaire, des jetons de synchronisation, des jetons anti-CSRF et d'autres défenses, les développeurs peuvent protéger leurs sites contre les attaques CSRF.
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!