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

Sécurité Discussion :

Upload d'avatars est ce dangereux? [Fait]


Sujet :

Sécurité

  1. #1
    Membre habitué Avatar de zintelix3d
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Points : 137
    Points
    137
    Par défaut Upload d'avatars est ce dangereux?
    Slt , Je fait un petit forum où l'utilisateur a la possibilité d'uploader un avatar, à l'aide d'un script php, le fichier est chargé, le script vérifie sa taille qui doit être inférieur à 50 ko, puis le place dans un dossier ./avatars/ en le renommant avatar0.jpg, avatar1.jpg, avatar2.jpg ... selon l'id de l'utilisateur.
    Lors de l'affichage je place l'avatar grâce à un script php qui donne qq chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="./avatars/avatar1.jpg"  alt="avatar de toto" >
    J'aimerai bien savoir à quel point sa peut être dangereux, et surtout est ce qu'on peut glisser du code malicieux à la place d'une image et le faire exécuter dans la balise "img" (un .js par exemple) bienque je filtre les extensions des fichiers mais c'est loin d'être suffisant.
    Bonne nuit blanche

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    As tu lu ce toturiel ? Il parle de l'upload de fichier en php et aborde entre autre, la sécurité : http://antoine-herault.developpez.co...p/upload/#L3.2
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  3. #3
    Membre habitué Avatar de zintelix3d
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Points : 137
    Points
    137
    Par défaut
    Merci 12monkeys, j'ai lue sa mais sa ne répond pas encore à ma question, mais ce qui pourrais m'intéresser c'est ce que dit l'auteur mais malheureusement ne développe pas:
    il faut vérifier le type du fichier que vous voulez uploader (.jpg, .gif ...). Cette méthode est une première approche qui nous suffit pour le moment mais, en réalité, il faudrait vérifier le type MIME des fichiers uploadés.
    Vérifier le type MIME des fichiers uploadés, je me demande comment en fait sa pour les formats '.png', '.gif', '.jpg', '.jpeg'

    Mais ce que je cherche réellement à savoir est que si j'ai un fichier "avatar1.jpg", je ne sait pas ce qu'il contient (image: '.png', '.gif', '.jpg', '.jpeg', ou script ou un autre fichier à contenu actif) , peut il s'exécuter (fichier script) s'il est dans une balise <img src="avatar1.jpg" > , surtout coté client

    Bonne nuit blanche

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 144
    Points : 145
    Points
    145
    Par défaut
    Salut,

    le tuto de 12monkeys est très bien, tu peux le suivre.

    sauf erreur de ma part (si quelqu'un peut confirmer ou infirmer...), tu ne devrais pas avoir peur d'une attaque lorsque le fichier [image ou code] est chargé par la balise <img... /> mais plutôt avant lorsqu'il est en train d'être téléchargé sur le serveur

  5. #5
    Membre habitué Avatar de zintelix3d
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Points : 137
    Points
    137
    Par défaut
    , je trouve aussi que le tuto de 12monkeys très bien, mais il manque justement ce que cherche: (vérifier le type MIME des fichiers uploadés) merci
    Bonne nuit blanche

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 144
    Points : 145
    Points
    145
    Par défaut
    re-salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    if( ! in_array($_FILES['avatar']['type'],
      array('image/gif',
          'image/jpeg',
          'image/png',
          'image/pjpeg')
    )) {
         echo 'Vous devez uploader une image<br />';
    }
    ?>
    (je crois, mais le mieux est, pour tester, d'afficher toi-même le type lors de différents essais)

  7. #7
    Membre habitué Avatar de zintelix3d
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Points : 137
    Points
    137
    Par défaut
    Merci, je vais voir ce code, mais j'ai l'impression qu'il ne vérifie que l'extension du fichier uploadé et pas son contenu
    Bonne nuit blanche

  8. #8
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Ceci verifie bien le type mime avec une limitation : http://www.php.net/manual/fr/features.file-upload.php

    $_FILES['userfile']['type']
    Le type MIME du fichier, si le navigateur a fourni cette information. Par exemple, cela pourra être "image/gif". Ce type mime n'est cependant pas vérifié du côté de PHP et, donc, ne prend pas sa valeur pour se synchroniser.
    Sinon une petite recherche sur google te donne les mêmes exemples...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  9. #9
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,
    je crois que le mieux à faire sont ceux que t'ont décrit 12monkeys et papa6
    Citation Envoyé par zintelix3d
    j'ai l'impression qu'il ne vérifie que l'extension du fichier uploadé et pas son contenu
    non, vérifié le type mime ne revient pas qu'à vérifier ce qui vient après le "." dans le nom du fichier, le type mime donne le format entier de la donnée.

    @ plus
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  10. #10
    Membre habitué Avatar de zintelix3d
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Points : 137
    Points
    137
    Par défaut
    ok c noté merci
    Bonne nuit blanche

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

Discussions similaires

  1. 'gets' est-il dangereux ?
    Par pi-2r dans le forum Débuter
    Réponses: 8
    Dernier message: 21/01/2010, 10h36
  2. Uploader un avatar (image jpg..)
    Par xsmokingbenx dans le forum Flex
    Réponses: 2
    Dernier message: 28/07/2009, 23h06
  3. [Sécurité] Le client/serveur est il dangereux ?
    Par kisitomomotene dans le forum Débats sur le développement - Le Best Of
    Réponses: 19
    Dernier message: 18/09/2007, 00h22
  4. Réponses: 1
    Dernier message: 14/09/2006, 14h23

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