Maison développement back-end tutoriel php Guide de sécurité du téléchargement de fichiers PHP : Comment vérifier le type MIME des fichiers téléchargés à l'aide du tableau $_FILES

Guide de sécurité du téléchargement de fichiers PHP : Comment vérifier le type MIME des fichiers téléchargés à l'aide du tableau $_FILES

Jul 29, 2023 pm 03:02 PM
文件上传 mime类型 安全指南

Guide de sécurité du téléchargement de fichiers PHP : Comment utiliser le tableau $_FILES pour vérifier le type MIME des fichiers téléchargés

Introduction :
En développement, le téléchargement de fichiers est une fonction très courante. Cependant, une fonctionnalité de téléchargement de fichiers incorrecte peut entraîner des problèmes de sécurité. Les utilisateurs malveillants peuvent télécharger des fichiers malveillants pour exécuter du code à distance ou obtenir des informations sensibles. Afin de garantir la sécurité de la fonction de téléchargement de fichiers, nous devons vérifier et filtrer correctement les fichiers téléchargés. Cet article explique comment utiliser le tableau $_FILES pour vérifier le type MIME des fichiers téléchargés afin d'améliorer la sécurité de la fonction de téléchargement de fichiers.

Que sont les types MIME ?
Le type MIME (MultiPurpose Internet Mail Extensions) est une norme pour représenter les types de fichiers. Il est basé sur l'extension du fichier et est utilisé pour spécifier le type de contenu du fichier. Lors du téléchargement de fichiers, nous pouvons nous assurer que le fichier téléchargé est du type attendu en vérifiant le type MIME du fichier pour empêcher les fichiers non fiables d'entrer sur le serveur.

Utilisez le tableau $_FILES pour obtenir des informations sur les fichiers téléchargés
Le tableau $_FILES en PHP contient des informations pertinentes pendant le processus de téléchargement de fichiers. Nous pouvons utiliser ce tableau pour obtenir les propriétés du fichier téléchargé, notamment le nom du fichier, le chemin du fichier temporaire, la taille du fichier, etc. Voici un exemple :

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="upload_file">
    <input type="submit" value="上传文件">
</form>

<?php
if(isset($_FILES['upload_file'])){
    $file_name = $_FILES['upload_file']['name'];
    $file_tmp = $_FILES['upload_file']['tmp_name'];
    $file_size = $_FILES['upload_file']['size'];
    
    // 其他操作...
}
?>
Copier après la connexion

Comment vérifier le type MIME d'un fichier téléchargé
En vérifiant le type MIME d'un fichier, nous pouvons assurer la sécurité du téléchargement du fichier. PHP fournit un moyen d'obtenir le type MIME d'un fichier, en utilisant les fonctions finfo_open() et finfo_file(). Voici un exemple de code pour vérifier le type MIME d'un fichier :

<?php
if(isset($_FILES['upload_file'])){
    $file_tmp = $_FILES['upload_file']['tmp_name'];
    
    // 创建一个Fileinfo资源
    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    
    // 获取文件的MIME类型
    $mime_type = finfo_file($finfo, $file_tmp);
    
    // 关闭Fileinfo资源
    finfo_close($finfo);
    
    // 其他操作...
}
?>
Copier après la connexion

Dans l'exemple ci-dessus, nous créons d'abord une ressource Fileinfo à l'aide de la fonction finfo_open(), et le paramètre FILEINFO_MIME_TYPE est utilisé pour spécifier le type MIME du fichier. nous devons obtenir. Ensuite, nous utilisons la fonction finfo_file() pour obtenir le type MIME du fichier, et les paramètres transmis sont la ressource Fileinfo et le chemin temporaire du fichier. Enfin, nous utilisons la fonction finfo_close() pour fermer la ressource Fileinfo.

Comment vérifier si le type MIME d'un fichier est légal
Une fois que nous obtenons le type MIME du fichier téléchargé, nous devons le vérifier pour nous assurer qu'il est légal. Nous pouvons utiliser la fonction in_array() pour vérifier si le type MIME est dans notre liste de types MIME autorisés. Voici un exemple de code :

$allowed_mime_types = array('image/jpeg', 'image/png', 'image/gif');
if(in_array($mime_type, $allowed_mime_types)){
    // MIME类型合法,进行其他操作...
}else{
    // MIME类型不合法,进行错误处理...
}
Copier après la connexion

Dans l'exemple ci-dessus, nous définissons un tableau de types MIME autorisés $allowed_mime_types, qui contient les types de fichiers que nous autorisons. Ensuite, nous utilisons la fonction in_array() pour vérifier si $file_mime_type est dans le tableau $allowed_mime_types. Si le type MIME est légal, nous pouvons effectuer d'autres opérations, sinon, nous pouvons effectuer une gestion des erreurs ou refuser le téléchargement du fichier.

Résumé :
Le téléchargement de fichiers est une fonction courante dans le développement Web, mais une fonction de téléchargement de fichiers incorrecte peut entraîner des risques de sécurité. Afin de garantir la sécurité de la fonction de téléchargement de fichiers, nous devons vérifier et filtrer correctement les fichiers téléchargés. Cet article décrit comment utiliser le tableau $_FILES pour vérifier le type MIME des fichiers téléchargés afin d'améliorer la sécurité de la fonction de téléchargement de fichiers. En vérifiant et en vérifiant le type MIME des fichiers, nous pouvons empêcher les fichiers non fiables d'entrer sur le serveur, améliorant ainsi la sécurité du système.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Implémenter le téléchargement et le téléchargement de fichiers dans les documents Workerman Implémenter le téléchargement et le téléchargement de fichiers dans les documents Workerman Nov 08, 2023 pm 06:02 PM

Pour implémenter le téléchargement et le téléchargement de fichiers dans des documents Workerman, des exemples de code spécifiques sont requis Introduction : Workerman est un framework de communication réseau asynchrone PHP hautes performances, simple, efficace et facile à utiliser. Dans le développement réel, le téléchargement et le téléchargement de fichiers sont des exigences fonctionnelles courantes. Cet article explique comment utiliser le framework Workerman pour implémenter le téléchargement et le téléchargement de fichiers, et donne des exemples de code spécifiques. 1. Téléchargement de fichiers : le téléchargement de fichiers fait référence à l'opération de transfert de fichiers de l'ordinateur local vers le serveur. Ce qui suit est utilisé

Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Nov 02, 2023 pm 04:36 PM

Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Laravel est un framework Web PHP populaire qui fournit une multitude de fonctions et d'outils pour rendre le développement d'applications Web plus facile et plus efficace. L'une des fonctions couramment utilisées est le téléchargement et le téléchargement de fichiers. Cet article expliquera comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers, et fournira des exemples de code spécifiques. Téléchargement de fichiers Le téléchargement de fichiers fait référence au téléchargement de fichiers locaux sur le serveur pour le stockage. Dans Laravel, nous pouvons utiliser le téléchargement de fichiers

Comment résoudre l'exception de téléchargement de fichiers Java (FileUploadException) Comment résoudre l'exception de téléchargement de fichiers Java (FileUploadException) Aug 18, 2023 pm 12:11 PM

Comment résoudre l'exception de téléchargement de fichiers Java (FileUploadException). Un problème souvent rencontré dans le développement Web est FileUploadException (exception de téléchargement de fichiers). Cela peut se produire pour diverses raisons telles qu'une taille de fichier dépassant la limite, une incompatibilité de format de fichier ou une configuration incorrecte du serveur. Cet article décrit quelques méthodes pour résoudre ces problèmes et fournit des exemples de code correspondants. Limiter la taille des fichiers téléchargés Dans la plupart des scénarios, limitez la taille du fichier

Comment utiliser gRPC pour implémenter le téléchargement de fichiers dans Golang ? Comment utiliser gRPC pour implémenter le téléchargement de fichiers dans Golang ? Jun 03, 2024 pm 04:54 PM

Comment implémenter le téléchargement de fichiers à l'aide de gRPC ? Créez des définitions de service de support, y compris des messages de demande et de réponse. Sur le client, le fichier à télécharger est ouvert et divisé en morceaux, puis diffusé sur le serveur via un flux gRPC. Côté serveur, des fragments de fichiers sont reçus et stockés dans un fichier. Le serveur envoie une réponse une fois le téléchargement du fichier terminé pour indiquer si le téléchargement a réussi.

Comment implémenter la barre de progression du téléchargement de fichiers FTP en utilisant PHP Comment implémenter la barre de progression du téléchargement de fichiers FTP en utilisant PHP Jul 30, 2023 pm 06:51 PM

Comment utiliser PHP pour implémenter la barre de progression du téléchargement de fichiers FTP 1. Introduction générale Dans le développement de sites Web, le téléchargement de fichiers est une fonction courante. Pour le téléchargement de fichiers volumineux, afin d'améliorer l'expérience utilisateur, nous devons souvent afficher une barre de progression du téléchargement à l'utilisateur pour l'informer du processus de téléchargement du fichier. Cet article explique comment utiliser PHP pour implémenter la fonction de barre de progression du téléchargement de fichiers FTP. 2. L'idée de base de la mise en œuvre de la barre de progression du téléchargement de fichiers FTP est généralement calculée en calculant la taille du fichier téléchargé et la taille du fichier téléchargé.

Téléchargement et traitement de fichiers dans Laravel : gestion des fichiers téléchargés par les utilisateurs Téléchargement et traitement de fichiers dans Laravel : gestion des fichiers téléchargés par les utilisateurs Aug 13, 2023 pm 06:45 PM

Téléchargement et traitement de fichiers dans Laravel : gestion des fichiers téléchargés par les utilisateurs Introduction : Le téléchargement de fichiers est une exigence fonctionnelle très courante dans les applications Web modernes. Dans le framework Laravel, le téléchargement et le traitement de fichiers deviennent très simples et efficaces. Cet article explique comment gérer les fichiers téléchargés par les utilisateurs dans Laravel, y compris la vérification, le stockage, le traitement et l'affichage des téléchargements de fichiers. 1. Téléchargement de fichiers Le téléchargement de fichiers fait référence au téléchargement de fichiers du client vers le serveur. Dans Laravel, les téléchargements de fichiers sont très simples à gérer. d'abord,

php CodeIgniter Security Guide : Protégez votre site Web contre les attaques php CodeIgniter Security Guide : Protégez votre site Web contre les attaques Feb 19, 2024 pm 06:21 PM

1. Utilisez la dernière version de CodeIgniter L'équipe CodeIgniter publie régulièrement des correctifs de sécurité et des mises à jour pour corriger les vulnérabilités connues. Par conséquent, il est important de vous assurer que vous utilisez toujours la dernière version de CodeIgniter. Vous pouvez télécharger la dernière version en visitant le site officiel de CodeIgniter. 2. Appliquer l'utilisation de connexions sécurisées (HTTPS) https peut crypter les données transmises entre votre site Web et les utilisateurs, ce qui rend plus difficile leur interception et leur vol par des utilisateurs malveillants. Vous pouvez activer HTTPS en installant un certificat SSL sur votre serveur. 3. Évitez d'utiliser les configurations par défaut CodeIgniter fournit de nombreuses configurations par défaut pour simplifier le processus de développement. Cependant, ces configurations par défaut peuvent ne pas

Guide de téléchargement de fichiers PHP : Comment utiliser la fonction move_uploaded_file pour gérer les fichiers téléchargés Guide de téléchargement de fichiers PHP : Comment utiliser la fonction move_uploaded_file pour gérer les fichiers téléchargés Jul 30, 2023 pm 02:03 PM

Guide de téléchargement de fichiers PHP : Comment utiliser la fonction move_uploaded_file pour gérer les fichiers téléchargés Dans le développement d'applications Web, le téléchargement de fichiers est une exigence courante. PHP fournit une fonction pratique move_uploaded_file() pour traiter les fichiers téléchargés. Cet article vous présentera comment utiliser cette fonction pour implémenter la fonction de téléchargement de fichiers. 1. Préparation Avant de commencer, assurez-vous que votre environnement PHP a été configuré avec les paramètres de téléchargement de fichiers. Vous pouvez le faire en ouvrant php.in

See all articles