Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich ein sicheres Bild-Upload-Skript erstellen?
Vollständiges Skript zum sicheren Hochladen von Bildern
Die Gewährleistung sicherer Bild-Uploads ist für den Schutz Ihres Servers und Ihrer Daten von entscheidender Bedeutung. Dieses Skript beschreibt einen umfassenden Ansatz, um maximale Sicherheit beim Hochladen von Bildern zu erreichen.
HTML-Formular:
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" name="upload" value="Upload"> </form>
PHP:
$allowedTypes = ['image/jpeg', 'image/png', 'image/gif']; if (!in_array($_FILES['image']['type'], $allowedTypes)) { echo "Invalid file type"; exit; }
$verifyimg = getimagesize($_FILES['image']['tmp_name']); if ($verifyimg['mime'] != $_FILES['image']['type']) { echo "Invalid image content"; exit; }
Speichern Sie hochgeladene Bilder außerhalb des zugänglichen Dokumentstammverzeichnisses oder in einem geschützten Verzeichnis:
/uploads
Benennen Sie hochgeladene Bilder um, ändern Sie die Erweiterung und speichern Sie die ursprünglichen Informationen in einem Datenbank:
PHP:
$uploadfile = tempnam_sfx($uploaddir, ".tmp"); if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile)) { // Database logic to store original name and MIME type }
PHP:
$id = 1; // For example $sql = "SELECT name, original_name, mime_type FROM uploads WHERE>
Maximale Datei Größenvalidierung:
if ($_FILES['image']['size'] > 1000000) { echo "File size too large"; exit; }
ImageUpload-Klasse:
Ich habe eine ImageUpload-Klasse erstellt, um den Upload-Prozess zu vereinfachen. Laden Sie das Paket herunter und befolgen Sie die README-Datei für Anweisungen.
Open-Source-Verfügbarkeit:
Die ImageUpload-Klasse ist jetzt auf GitHub für Community-Beiträge und Verbesserungen verfügbar.
Das obige ist der detaillierte Inhalt vonWie kann ich ein sicheres Bild-Upload-Skript erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!