Maison > Article > développement back-end > Filtrage des données PHP : empêcher l'exécution de fichiers malveillants
Filtrage des données PHP : Prévenir l'exécution de fichiers malveillants
Introduction :
Dans le développement Web, la manière de filtrer efficacement les données saisies par l'utilisateur est très importante. En particulier pour la fonction de téléchargement de fichiers, nous devons prendre des mesures de filtrage strictes pour empêcher l'exécution de fichiers malveillants. Cet article explique comment utiliser PHP pour le filtrage des données et comment empêcher l'exécution de fichiers malveillants. Parallèlement, quelques exemples de code PHP seront donnés à titre de référence.
1. Filtrer les données d'entrée utilisateur
Voici l'exemple de code :
$input = $_POST['input']; $filteredInput = htmlspecialchars($input);
Ce qui suit est un exemple de code :
$input = $_POST['input']; $filteredInput = filter_var($input, FILTER_VALIDATE_INT);
Ce qui suit est un exemple de code :
$input = $_POST['input']; $filteredInput = filter_var($input, FILTER_VALIDATE_FLOAT);
2. Empêchez l'exécution de fichiers malveillants
Ce qui suit est un exemple de code :
$allowedTypes = array('jpg', 'png', 'gif'); $uploadedFile = $_FILES['file']; $fileName = $uploadedFile['name']; $fileExtension = pathinfo($fileName, PATHINFO_EXTENSION); if (in_array($fileExtension, $allowedTypes)) { // 允许文件上传 move_uploaded_file($uploadedFile['tmp_name'], 'uploads/' . $fileName); } else { // 文件类型不允许上传 echo "文件类型不支持上传"; }
Voici l'exemple de code :
$allowedPath = '/uploads'; $uploadedFile = $_FILES['file']; $filePath = realpath($uploadedFile['tmp_name']); if (strpos($filePath, $allowedPath) === 0) { // 文件路径在允许的目录内 move_uploaded_file($uploadedFile['tmp_name'], 'uploads/' . $fileName); } else { // 文件路径不在允许的目录内 echo "非法文件路径"; }
Ce qui suit est un exemple de code :
$uploadedFile = $_FILES['file']; $fileType = exif_imagetype($uploadedFile['tmp_name']); if ($fileType !== false) { // 是图像文件 move_uploaded_file($uploadedFile['tmp_name'], 'uploads/' . $fileName); } else { // 不是图像文件 echo "非法文件内容"; }
Conclusion :
Dans le développement Web, le filtrage des données saisies par l'utilisateur est très important, en particulier pour les fonctions de téléchargement de fichiers. Grâce à un filtrage raisonnable des données et à un traitement des fichiers, nous pouvons empêcher efficacement l’exécution de fichiers malveillants. Cet article donne quelques exemples de code PHP, j'espère qu'il sera utile aux lecteurs.
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!