Refactorisation du code PHP et correction des vulnérabilités de sécurité courantes
Introduction :
En raison de la flexibilité et de la facilité d'utilisation de PHP, il est devenu un langage de script côté serveur largement utilisé. Cependant, en raison du manque de codage approprié et de sensibilisation à la sécurité, de nombreuses applications PHP souffrent de diverses vulnérabilités en matière de sécurité. Cet article vise à présenter certaines vulnérabilités de sécurité courantes et à partager quelques bonnes pratiques pour refactoriser le code PHP et corriger les vulnérabilités.
$name = htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8'); echo "欢迎你,".$name;
$pdo = new PDO('mysql:host=localhost;dbname=mydb;charset=utf8', 'username', 'password'); $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password"); $stmt->bindParam(':username', $_POST['username']); $stmt->bindParam(':password', $_POST['password']); $stmt->execute();
$target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["file"]["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // 检查文件类型 if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { $uploadOk = 0; } // 检查文件大小 if ($_FILES["file"]["size"] > 500000) { $uploadOk = 0; } // 检查文件名 if (file_exists($target_file)) { $uploadOk = 0; } if ($uploadOk == 0) { echo "文件上传失败。"; } else { if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) { echo "文件已成功上传。"; } else { echo "文件上传失败。"; } }
session_start(); if (!isset($_SESSION['user_id'])) { header("Location: login.php"); exit; } session_regenerate_id();
Conclusion :
Les éléments ci-dessus ne sont que des exemples de certaines vulnérabilités de sécurité PHP courantes et de méthodes de réparation. Dans les applications réelles, des contrôles de sécurité et des réparations plus complets et détaillés sont nécessaires en fonction de circonstances spécifiques. . Afin de protéger la sécurité des applications Web, les développeurs doivent améliorer leur compréhension des vulnérabilités de sécurité courantes et prendre les mesures appropriées pour corriger les vulnérabilités et renforcer le système.
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!