From 53b496a74e1eb960bdda15514aa8397e2a9770e9 Mon Sep 17 00:00:00 2001 From: gitea-admin Date: Thu, 8 Jan 2026 22:57:58 +0000 Subject: [PATCH] Update upload.php --- upload.php | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/upload.php b/upload.php index 760a910..4409df7 100644 --- a/upload.php +++ b/upload.php @@ -17,15 +17,22 @@ $imageName = null; if (!empty($_FILES['image']['name'])) { -/* #if ($_FILES['image']['error'] !== UPLOAD_ERR_OK) {*/ - /* # die("Error de sauvegarde d'image");*/ - /* #}*/ + // Vérifier si l'upload s'est bien passé + if ($_FILES['image']['error'] !== UPLOAD_ERR_OK) { + die("Erreur lors de l'upload de l'image"); + } - /* #if ($_FILES['image']['size'] < 2 * 1024 * 1024) {*/ -/* # die("Erreur, Image trop petite.");*/ -/* #}*/ + // Vérifier que le fichier temporaire existe + if (!is_uploaded_file($_FILES['image']['tmp_name'])) { + die("Fichier non valide ou non téléchargé"); + } - /* Verify MIME type using finfo */ + // Vérifier la taille (max 2 Mo ici) + if ($_FILES['image']['size'] > 2 * 1024 * 1024) { + die("Image trop grosse (max 2 Mo)"); + } + + // Vérifier le type MIME réel $finfo = new finfo(FILEINFO_MIME_TYPE); $mime = $finfo->file($_FILES['image']['tmp_name']); @@ -35,16 +42,16 @@ if (!empty($_FILES['image']['name'])) { ]; if (!array_key_exists($mime, $allowedMimes)) { - die("Type d'image invalid"); + die("Type d'image invalide"); } - /* Verify image structure */ + // Vérifier que c'est bien une image $imageInfo = getimagesize($_FILES['image']['tmp_name']); if ($imageInfo === false) { die("Le fichier n'est pas une image valide"); } - /* Re-encode image to destroy polyglots */ + // Re-encoder l'image pour éviter les polyglots $ext = $allowedMimes[$mime]; $imageName = bin2hex(random_bytes(16)) . '.' . $ext; $uploadPath = __DIR__ . "/uploads/" . $imageName; @@ -60,6 +67,7 @@ if (!empty($_FILES['image']['name'])) { imagedestroy($img); } + /* Store comment */ $stmt = $pdo->prepare("INSERT INTO posts (message, image, ip) VALUES (?, ?, ?)"); $stmt->execute([