Maison  >  Article  >  développement back-end  >  Comment valider les types de fichiers téléchargés pour garantir la sécurité en PHP ?

Comment valider les types de fichiers téléchargés pour garantir la sécurité en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-16 08:12:02139parcourir

How to Validate Uploaded Filetypes to Ensure Security in PHP?

Détermination des types de fichiers autorisés pour le téléchargement à l'aide de PHP

Maintenir la sécurité et contrôler les types de fichiers téléchargés sur un site Web est crucial. PHP propose différentes méthodes pour valider et restreindre les téléchargements de fichiers en fonction de critères spécifiques. Un scénario courant consiste à limiter les téléchargements à des types de fichiers spécifiques, tels que des images et des documents.

Limiter les types de fichiers aux formats JPG, GIF et PDF

Envisagez un scénario dans lequel un formulaire permet les utilisateurs peuvent télécharger des fichiers, mais seuls les formats JPG, GIF et PDF sont autorisés. Un extrait de code PHP concis pour y parvenir est :

<?php
$file_type = $_FILES['foreign_character_upload']['type']; // Get the file type

$allowed = array("image/jpeg", "image/gif", "application/pdf"); // Allowed file types in an array

if(!in_array($file_type, $allowed)) {
  $error_message = 'Only jpg, gif, and pdf files are allowed.';
  $error = 'yes';
}
?>

Dans ce code, nous :

  1. Déterminons le type de fichier à l'aide des types MIME renvoyés par l'entrée du fichier.
  2. Définissez un tableau de types de fichiers autorisés ($allowed), notamment « image/jpeg », « image/gif » et "application/pdf".
  3. Vérifiez si le type de fichier n'est pas présent dans le tableau $allowed en utilisant in_array().
  4. En cas de type de fichier invalide, nous définissons $error sur 'yes ' et $error_message à un message approprié.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn