La vérification des extensions est-elle fiable pour la vérification des images en PHP ?

DDD
Libérer: 2024-11-02 01:28:02
original
391 Les gens l'ont consulté

Is Extension Checking Reliable for Image Verification in PHP?

Garantir l'authenticité des fichiers : vérifier les images en PHP

Lors du téléchargement de fichiers, il est crucial de s'assurer que les fichiers reçus répondent aux critères prévus. En PHP, vérifier si un fichier est une image est une tâche importante pour la sécurité et le bon fonctionnement.

La vérification des extensions est-elle fiable ?

Vérification de l'extension du fichier (par exemple, .jpg, .png) est une approche courante mais peu fiable. Les utilisateurs malveillants peuvent facilement modifier l'extension d'un fichier malveillant pour contourner cette vérification.

Getimagesize : une solution plus précise

La fonction getimagesize() fournit un moyen plus précis de déterminer si un fichier est une image. Il tente d'analyser le fichier et d'extraire des informations telles que la largeur, la hauteur et le type MIME. Si le fichier n'est pas une image, il renvoie false.

Exemple de code

Voici un exemple d'utilisation de getimagesize() pour vérifier une image :

<code class="php">if (@is_array(getimagesize($mediapath))) {
    $image = true;
} else {
    $image = false;
}</code>
Copier après la connexion

Exemple de sortie

Si le fichier est une image, getimagesize() renverra un tableau comme celui-ci :

Array (
    [0] => 800
    [1] => 450
    [2] => 2
    [3] => width="800" height="450"
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)
Copier après la connexion

En utilisant getimagesize(), vous pouvez améliorer la sécurité et la précision de votre image processus de vérification en PHP.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal