Script complet de téléchargement d'images sécurisé
Garantir des téléchargements d'images sécurisés est crucial pour protéger votre serveur et vos données. Ce script décrit une approche globale pour obtenir une sécurité maximale de téléchargement d'images.
Formulaire HTML :
<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; }
Stockez les images téléchargées en dehors de la racine du document accessible ou dans un répertoire protégé :
/uploads
Renommer et modifier l'extension des images téléchargées et stocker les informations d'origine dans un base de données :
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>
Maximum Validation de la taille du fichier :
if ($_FILES['image']['size'] > 1000000) { echo "File size too large"; exit; }
Classe ImageUpload :
J'ai créé une classe ImageUpload pour simplifier le processus de téléchargement. Téléchargez le package et suivez le README pour les instructions.
Disponibilité Open Source :
La classe ImageUpload est désormais disponible sur GitHub pour les contributions et améliorations de la communauté.
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!