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

Java Discussion :

vraie extention d'un fichier


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut vraie extention d'un fichier
    Bonjour,

    J'ai mis un upload sur un formulaire, cet upload ne devrait laisser passer que des images. Donc j'ai fait un controlle et ça marche, il ne laisse passer que les fichiers dont l'extention est jpg,gif ou png.

    Seulement ce test n'est pas suffisant vu que j'ai fait un test en changeant l'extention d'un fichier .exe en .jpg et ce dernier était chargé.

    Donc ma question est : est ce qu'il y a une méthode ou une api ou un moyen pour extraire la vraie extention d'un fichier ?

    Merci d'avance pour votre aide

    Bonne journée à tous

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Par défaut
    Salut,

    l'extension d'un fichier, c'est ce qu'il y a après le point. Rien n'interdit de le changer, donc tu peux uploader n'importe quel type de fichier tant qu'il a l'extension qui correspond. Ensuite c'est ton appli qui doit vérifier le contenu de ce fichier sans se baser sur l'extension.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut
    Citation Envoyé par Kirua12 Voir le message
    Salut,

    l'extension d'un fichier, c'est ce qu'il y a après le point. Rien n'interdit de le changer, donc tu peux uploader n'importe quel type de fichier tant qu'il a l'extension qui correspond. Ensuite c'est ton appli qui doit vérifier le contenu de ce fichier sans se baser sur l'extension.
    Bonjour,

    C'est exactement ma question en fait, comment pourrais-je vérifier le contenu du fichier avant son upload et décider de quel genre de fichier s'agit - il en réalité ? pour décider ensuite si j'autorise l'upload ou pas.

    Merci pour votre aide.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par luna007 Voir le message
    pourrais-je vérifier le contenu du fichier avant son upload et décider de quel genre de fichier s'agit
    Non, tu ne pourra faire cette vérification qu'après l'upload, c'est à dire quand tu aura reçu le fichier.

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Non, tu ne pourra faire cette vérification qu'après l'upload, c'est à dire quand tu aura reçu le fichier.
    Bonjour tous,

    Merci de l'aide. En fait supposons que le fichier ait passé le test de l'application et ait été uploadé, comment je pourrais faire un autre test sur son extention (pas ce qui est derrière le point) mais son vrai contenu (exe ?? , jpg ?? ) pour décider si on le garde sur notre serveur ou le supprimer immédiatement avant qu'il soit exploité par celui qu'il l'a chargé.

    Que ce test soit automatique par le même programme. merci d'avance

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par luna007 Voir le message
    [...] extention (pas ce qui est derrière le point) mais son vrai contenu (exe ?? , jpg ?? )[...]
    Ce - n'est - pas - une - extension.

    Citation Envoyé par luna007 Voir le message
    En fait supposons que le fichier ait passé le test de l'application et ait été uploadé, comment je pourrais faire un autre test sur [son vrai contenu, genre un exécutable, une image jpeg, etc,] pour décider si on le garde sur notre serveur ou le supprimer immédiatement avant qu'il soit exploité par celui qu'il l'a chargé. Que ce test soit automatique par le même programme. merci d'avance
    Je vois deux manières d'aborder le problème :

    1 - Ton programme doit lui aussi exploiter le fichier et compter sur le fait que c'est une image. Dans ce cas, faire ce qu'il y a à faire sur ce fichier le plus tôt possible, et rejeter le fichier si une erreur de format arrive pendant le traitement. Avant de charger une image, il est aussi possible de demander à Java de deviner le format de l'image, et ensuite il suffit de comparer avec l'extension du fichier, si on y tient vraiment.

    2 - Utiliser une bibliothèque basée sur mime-magic pour autodétecter le contenu du fichier, décider quels types sont acceptés, et refuser le reste.

    Je n'ai pas essayé de bibliothèque mime-magic en Java, mais j'ai trouvé ça en googlant : http://jmimemagic.sourceforge.net
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu peux lire les 4 premiers octets du fichiers, qui contiennent généralement un "magic number" permettant d'identifier le type précis du fichier : http://www.astro.keele.ac.uk/olduser...ile_magic.html

    Par contre c'est juste une "info" et pas une garantie. Si tu veux une garantie il faut charger l'image complètement...

    a++

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,


    Tu peux lire les 4 premiers octets du fichiers, qui contiennent généralement un "magic number" permettant d'identifier le type précis du fichier : http://www.astro.keele.ac.uk/olduser...ile_magic.html

    Par contre c'est juste une "info" et pas une garantie. Si tu veux une garantie il faut charger l'image complètement...

    a++
    Bonjour,

    Merci pour votre aide, je vais chercher côté Magic number.

    Sinon, si je charge l'image, y a-t-il un moyen pour confirmer l'extention du fichier ?

    Merci encore

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Précisons quand même que vérifier les 4 premiers octets avant d'uploader, c'est pas gagné. À la rigueur, il s'agit d'uploader en regardant seulement les 4 premiers octets, et décider à partir de là si on accepte de continuer à recevoir l'upload ou pas.

    Citation Envoyé par luna007 Voir le message
    Sinon, si je charge l'image, y a-t-il un moyen pour confirmer l'extention du fichier ?
    Je sais pas pour les autres, mais :
    - moi je n'ai pas compris la question.
    - Il n'y a pas de "vraie extension" ou de "confirmer l'extension". L'extension d'un fichier est ce qu'il y a après son dernier point, et c'est tout. Ça fait partie de son nom. Ne pas confondre avec son mime-type ou, disons, le type de fichier, ou le contenu du fichier.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. retrouver l'extention d'un fichier
    Par artichaudd dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2011, 18h22
  2. Verifier l'extention d'un fichier
    Par habiba dans le forum Général Python
    Réponses: 2
    Dernier message: 10/08/2008, 14h42
  3. Comment récupérer l'extention d'un fichier.
    Par L4BiN dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 21/06/2006, 13h44
  4. [ASA] Quelle extention pour les fichiers de données?
    Par Goldorak2 dans le forum SQL Anywhere
    Réponses: 2
    Dernier message: 07/12/2005, 09h28

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