Maison développement back-end tutoriel php Filtrage des données PHP : empêcher les téléchargements de fichiers malveillants

Filtrage des données PHP : empêcher les téléchargements de fichiers malveillants

Jul 29, 2023 pm 04:02 PM
数据过滤 php过滤 恶意文件

Filtrage de données PHP : Prévenir les téléchargements de fichiers malveillants

Ces dernières années, avec le développement de la technologie réseau, les téléchargements de fichiers malveillants sont devenus l'une des principales menaces pour la sécurité Internet. Le téléchargement de fichiers malveillants signifie que les attaquants contournent les restrictions de téléchargement de fichiers du site Web en téléchargeant des fichiers illégaux, ce qui entraîne des problèmes de sécurité tels que l'exploitation de vulnérabilités et l'injection de code malveillant. Afin de protéger la sécurité du site Web, nous devons filtrer et vérifier les données du code PHP pour empêcher le téléchargement de fichiers malveillants.

  1. Vérification du suffixe de fichier
    Les téléchargements de fichiers malveillants sont souvent transmis déguisés en types de fichiers courants. Par conséquent, nous devons vérifier le suffixe du fichier téléchargé et n’accepter que les types de fichiers qui répondent aux exigences. Voici un exemple de code simple :
$allowedExtensions = array('jpg', 'jpeg', 'png', 'gif'); // 允许上传的文件类型
$fileExtension = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION)); // 获取文件后缀

if (!in_array($fileExtension, $allowedExtensions)) {
    die('只允许上传图片文件');
}
Copier après la connexion
  1. Vérification du type de fichier
    En plus de vérifier le suffixe du fichier, nous devons également vérifier le type MIME du fichier pour empêcher que les fichiers malveillants ne soient déguisés en types de fichiers légitimes. Vous pouvez utiliser la fonction mime_content_type() de PHP pour obtenir le type MIME du fichier et le vérifier. Voici un exemple de code :
$allowedMimeTypes = array('image/jpeg', 'image/png', 'image/gif'); // 允许上传的MIME类型
$uploadedFile = $_FILES['file']['tmp_name']; // 获取上传的临时文件路径
$uploadedMimeType = mime_content_type($uploadedFile); // 获取上传文件的MIME类型

if (!in_array($uploadedMimeType, $allowedMimeTypes)) {
    die('只允许上传图片文件');
}
Copier après la connexion
  1. Vérification de la taille du fichier
    Afin d'éviter que le téléchargement de fichiers volumineux n'occupe les ressources du serveur ou la bande passante du réseau, nous devons limiter la taille des fichiers téléchargés. Vous pouvez utiliser $_FILES'file' en PHP pour obtenir la taille du fichier en octets. Voici un exemple de code :
$maxFileSize = 5 * 1024 * 1024; // 允许上传的最大文件大小(5MB)
$uploadedFileSize = $_FILES['file']['size']; // 获取上传文件的大小

if ($uploadedFileSize > $maxFileSize) {
    die('文件大小超过限制');
}
Copier après la connexion
  1. Anti-duplication des noms de fichiers
    Afin d'éviter la duplication des noms de fichiers téléchargés par différents utilisateurs, nous pouvons renommer les fichiers téléchargés. Vous pouvez utiliser la fonction uniqid() de PHP pour générer un nom de fichier unique et le combiner avec le suffixe du fichier pour former un nouveau nom de fichier. Voici un exemple de code :
$uploadedFileName = $_FILES['file']['name']; // 获取上传文件的原始文件名
$newFileName = uniqid() . '.' . $fileExtension; // 生成新的文件名

$uploadedFilePath = './uploads/' . $newFileName; // 设置上传文件保存的路径

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadedFilePath)) {
    echo '文件上传成功';
} else {
    echo '文件上传失败';
}
Copier après la connexion

Pour résumer, en effectuant une vérification des suffixes, une vérification du type MIME, une vérification de la taille des fichiers et une prévention des noms de fichiers sur les fichiers téléchargés, le risque de téléchargements de fichiers malveillants peut être efficacement évité. Bien entendu, afin d'assurer la sécurité du système, nous devons également régulièrement mettre à jour et mettre à niveau le logiciel du serveur, corriger les vulnérabilités connues en temps opportun et garantir la sécurité des données du site Web et la confidentialité des utilisateurs.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Filtrage des données PHP : comment gérer et empêcher les saisies incorrectes Filtrage des données PHP : comment gérer et empêcher les saisies incorrectes Jul 29, 2023 am 10:03 AM

Filtrage des données PHP : comment gérer et empêcher les saisies incorrectes Dans le développement d'applications Web, on ne peut pas se fier aux données saisies par l'utilisateur, le filtrage et la vérification des données sont donc très importants. PHP fournit certaines fonctions et méthodes pour nous aider à gérer et empêcher les entrées incorrectes. Cet article abordera certaines techniques courantes de filtrage des données et fournira un exemple de code. Filtrage de chaînes Lors de la saisie utilisateur, nous rencontrons souvent des chaînes contenant des balises HTML, des caractères spéciaux ou des codes malveillants. Pour prévenir les failles de sécurité et les attaques par injection de scripts

Résumé des questions fréquemment posées sur l'importation de données Excel dans MySQL : Comment gérer les données en double lors du processus d'importation ? Résumé des questions fréquemment posées sur l'importation de données Excel dans MySQL : Comment gérer les données en double lors du processus d'importation ? Sep 09, 2023 pm 04:22 PM

Résumé des questions fréquemment posées sur l'importation de données Excel dans MySQL : Comment gérer les données en double lors du processus d'importation ? Lors du traitement des données, nous rencontrons souvent le besoin d'importer des données Excel dans la base de données Mysql. Cependant, en raison de l’énorme quantité de données, il est facile de les dupliquer, ce qui nous oblige à les traiter en conséquence lors du processus d’importation. Dans cet article, nous expliquons comment gérer les données en double lors de l'importation et fournissons des exemples de code correspondants. Avant d'effectuer un traitement répété des données, vous devez d'abord vous assurer qu'il existe des

Tutoriel de base de VUE3 : utiliser des filtres pour le filtrage des données Tutoriel de base de VUE3 : utiliser des filtres pour le filtrage des données Jun 15, 2023 pm 08:37 PM

VUE3 est actuellement un framework populaire dans le développement front-end. Les fonctions de base qu'il fournit peuvent grandement améliorer l'efficacité du développement front-end. Parmi eux, les filtres sont un outil très utile dans VUE3. L'utilisation de filtres permet de filtrer, filtrer et traiter facilement les données. Alors, que sont les filtres ? En termes simples, les filtres sont des filtres dans VUE3. Ils peuvent être utilisés pour traiter les données rendues afin de présenter des résultats plus souhaitables dans la page. les filtres sont quelques-uns

Comment éviter les attaques XSS dans le développement du langage PHP ? Comment éviter les attaques XSS dans le développement du langage PHP ? Jun 10, 2023 pm 04:18 PM

Avec la popularité d’Internet, les problèmes de sécurité des sites Web font l’objet de plus en plus d’attention. Parmi elles, les attaques XSS sont l’une des menaces de sécurité les plus courantes et les plus dangereuses. Le nom complet de XSS est Cross-sitescripting, qui se traduit en chinois par attaque de script intersite. Cela signifie que l'attaquant insère délibérément un morceau de code de script malveillant dans la page Web, affectant ainsi d'autres utilisateurs. Le langage PHP est un langage largement utilisé dans le développement web, alors comment éviter les attaques XSS dans le développement du langage PHP ? Cet article développera les aspects suivants. 1. Requête paramétrée

Comment filtrer et rechercher des données dans React Query ? Comment filtrer et rechercher des données dans React Query ? Sep 27, 2023 pm 05:05 PM

Comment filtrer et rechercher des données dans ReactQuery ? Lors de l'utilisation de ReactQuery pour la gestion des données, nous rencontrons souvent le besoin de filtrer et de rechercher des données. Ces fonctionnalités peuvent nous aider à trouver et à afficher plus facilement des données dans des conditions spécifiques. Cet article expliquera comment utiliser les fonctions de filtrage et de recherche dans ReactQuery et fournira des exemples de code spécifiques. ReactQuery est un outil pour interroger des données dans les applications React

Conseils de filtrage de données PHP : Comment utiliser la fonction filter_var pour valider la saisie de l'utilisateur Conseils de filtrage de données PHP : Comment utiliser la fonction filter_var pour valider la saisie de l'utilisateur Jul 31, 2023 pm 08:05 PM

Compétences en filtrage de données PHP : Comment utiliser la fonction filter_var pour vérifier les entrées de l'utilisateur Dans le développement Web, la vérification et le filtrage des données d'entrée de l'utilisateur sont des liens très importants. Des entrées malveillantes peuvent être exploitées par des utilisateurs malveillants pour attaquer ou compromettre le système. PHP fournit une série de fonctions de filtrage pour nous aider à traiter les données saisies par l'utilisateur, dont la plus couramment utilisée est la fonction filter_var. La fonction filter_var est un moyen basé sur un filtre de valider les entrées utilisateur. Cela nous permet d'utiliser divers filtres intégrés

Conseils de filtrage de données PHP : Comment utiliser la fonction filter_input pour valider et nettoyer les entrées utilisateur Conseils de filtrage de données PHP : Comment utiliser la fonction filter_input pour valider et nettoyer les entrées utilisateur Jul 31, 2023 pm 09:13 PM

Conseils de filtrage de données PHP : Comment utiliser la fonction filter_input pour valider et nettoyer les entrées utilisateur Lors du développement d'applications Web, les données saisies par l'utilisateur sont inévitables. Afin de garantir la sécurité et la validité des données saisies, nous devons valider et nettoyer les entrées des utilisateurs. En PHP, la fonction filter_input est un outil très utile qui peut nous aider à accomplir cette tâche. Cet article explique comment utiliser la fonction filter_input pour vérifier et nettoyer le

Quels sont quelques exemples pratiques d'utilisation d'expressions lambda C++ pour le filtrage et la transformation des données ? Quels sont quelques exemples pratiques d'utilisation d'expressions lambda C++ pour le filtrage et la transformation des données ? Apr 18, 2024 am 09:15 AM

En C++, les expressions lambda peuvent être utilisées pour filtrer et transformer facilement les données. Par exemple, vous pouvez utiliser des expressions lambda pour filtrer les éléments impairs dans un conteneur, transformer des éléments dans un conteneur, filtrer et transformer des conteneurs associatifs, utiliser des expressions lambda dans des algorithmes et transmettre des expressions lambda comme arguments de fonction. Ces méthodes peuvent rendre les tâches de traitement des données plus simples et plus efficaces.

See all articles