IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Question sur l'upload de fichier


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut Question sur l'upload de fichier
    Bonjour,

    J'ai une petit question concernant l'upload de fichier.
    Je voudrai savoir, le type mime contenu dans $_FILE['type'], c'est bien le type mime contenu dans l'entête du fichier?

    Quoi je sais pas si je m'exprime bien, mais il me semble qu'en début de chaque fichier il y a des info permettant de savoir le type du fichier.

    Vu que je dois faire un upload sécurisé je voulais rajouté une couche de vérif avec le type mime mais je sais pas si en vérifian $_FILE['type'] ça peut être suffisant ...

  2. #2
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Cette information n'est pas suffisante au niveau sécurité non :
    http://php.net/manual/en/features.file-upload.php
    Caution: *DO NOT* trust $_FILES['userfile']['type'] to verify the uploaded filetype; if you do so your server could be compromised. I'll show you why below:

    The manual (if you scroll above) states: $_FILES['userfile']['type'] - The mime type of the file, if the browser provided this information. An example would be "image/gif".

    Be reminded that this mime type can easily be faked as PHP doesn't go very far in verifying whether it really is what the end user reported!

    So, someone could upload a nasty .php script as an "image/gif" and execute the url to the "image".

    My best bet would be for you to check the extension of the file and using exif_imagetype() to check for valid images. Many people have suggested the use of getimagesize() which returns an array if the file is indeed an image and false otherwise, but exif_imagetype() is much faster. (the manual says it so)
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    Ah mais je n'utilise pas que cette couche comme sécurité. Je vérifie l'extension du fichier et aussi si il est bien envoyé par HTTP POST.

    Je voulais juste rajouté une couche avec le type contenu dans l'entête du fichier mais j'arrive pas à trouver comment récupérer le type dans l'entête du fichier...

    edit:

    J'ai voulu utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    finfo_open(FILEINFO_MIME_TYPE);
    sauf que le serveur est en php 5.2

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 383
    Points : 10 411
    Points
    10 411
    Par défaut
    Malheureusement c'est le seul truc qui semble assez fiable (mais pas facile de faire un truc portable avec cette fonction).

    Cela dit pour les images il reste getimagesize() ou comme mentionné plus haut exif_imagetype().

    Après il y a aussi la configuration du serveur qui joue sur la sécurité.

  5. #5
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    Okok, merci pour les réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 14/05/2009, 20h30
  2. Question sur les inclusions de fichier.
    Par Krishna dans le forum C++
    Réponses: 5
    Dernier message: 22/04/2009, 20h07
  3. {VBA Excel}Question sur la lecture de fichier excel
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2007, 09h12
  4. Question sur lecture d'un fichier text en Java
    Par ovcrash dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 27/11/2007, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo