Heim >Backend-Entwicklung >PHP-Tutorial >Wie erstellt man ein sicheres Bild-Upload-Skript?
Vollständig sicheres Bild-Upload-Skript
Trotz der in der Frage besprochenen umfangreichen Maßnahmen sollte ein umfassendes Bild-Upload-Sicherheitsskript die folgenden zusätzlichen Aspekte berücksichtigen :
Kundenseitig Validierung:
Dateiumbenennung:
Überprüfung der Dateierweiterung:
Bildanalyse:
Datei Speicherung:
Datenbank Integration:
Beispiel Skript:
Hier ist ein überarbeitetes PHP-Skript, das die oben genannten Sicherheitsmaßnahmen enthält:
<?php if (!empty($_FILES['image'])) { // Validate file extension if (!in_array($_FILES['image']['type'], ['image/jpeg', 'image/png', 'image/gif'])) { echo 'Invalid file type'; exit; } // Validate file size if ($_FILES['image']['size'] > 1 * 1024 * 1024) { // 1MB echo 'File too large'; exit; } // Generate random filename $filename = uniqid() . '.' . pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION); // Rename and move file if (move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $filename)) { // Insert into database $sql = "INSERT INTO images (name, original_name, mime_type, upload_date) VALUES (:name, :original_name, :mime_type, :upload_date)"; $stmt = $conn->prepare($sql); $stmt->execute([ ':name' => $filename, ':original_name' => $_FILES['image']['name'], ':mime_type' => $_FILES['image']['type'], ':upload_date' => date('Y-m-d H:i:s') ]); echo 'Image uploaded successfully'; } else { echo 'Error uploading image'; } } ?>
Dieses Skript validiert die Dateierweiterung, Größe und den MIME-Typ, benennt die Datei um, speichert es sicher und fügt der Datenbank einen Datensatz hinzu.
Zusätzlich Empfehlungen:
Das obige ist der detaillierte Inhalt vonWie erstellt man ein sicheres Bild-Upload-Skript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!