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

Scripts/Batch Discussion :

Vérifier si un fichier correspond bien à son extension


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 51
    Par défaut Vérifier si un fichier correspond bien à son extension
    Bonjour,

    Existe-t-il un moyen de contrôler qu'un fichier est bien conforme à son extension ?

    Je dois concevoir un traitement en powershell qui effectue des contrôles sur des fichiers présents dans un répertoire. Un des contrôles prévu est de vérifier que les fichiers correspondent bien à un "type" autorisé: Excel, JSON, csv ... mais pas Word ou PDF (par exemple, la liste des fichiers autorisés/interdits est beaucoup plus longue en réalité).

    On nous demande d'effectuer ce contrôle en allant au delà de la simple vérification de l'extension, pour éviter que le contrôle soit contourné en changeant l'extension (le contrôle se déclenche au moment où le fichier est déposé, si on y touche après il n'y a pas de nouveau contrôle). Il faudrait qu'on vérifie qu'un fichier avec l'extension .xls est réellement un fichier Excel, qu'un .pdf est réellement un PDF ...

    ça me semble très compliqué, voire impossible d'avoir un résultat fiable. Et étant donné la variété de fichiers autorisés je pense qu'on ne peut pas avoir une solution générique.

    J'aimerais avoir des avis sur la question avant de "rejeter" la demande. Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 570
    Par défaut
    Bonjour,

    la solution passe par un traitement assez complexe : tu dois parcourir le fichier et regarder la "signature" du logiciel qui l'a créé. Sauf qu'il peut y avoir plusieurs versions dudit logiciel.
    Exemple : Excel 4.0, 5.0, 97 et suivants. Je ne parle pas de xlsx qui sont, du coup, différents.

    Je sais Excel 4, ça doit plus trop courir les rues. Mais on peut imaginer un vieux fichier archivé depuis des lustres qui refait surface (quel qu'en soit son type).

    Le plus difficile est de trouver la "signature" du logiciel de façon infaillible...

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 51
    Par défaut
    Merci pour ta réponse.
    Effectivement ça me semble assez lourd à mettre en place et on n'est pas à l'abri d'un cas auquel on n'aurait pas pensé.

    Autre piste à écarter : On est d'accord que les fonctions qui permettent de déterminer le type MIME d'un fichier se basent sur l'extension ?


    J'ai peut-être une échappatoire liée aux cas d'usage des fichiers.
    Les fichiers déposés à cet endroit doivent servir à quelque chose de bien précis, je pourrais donc mettre un contrôle qui vérifie que le contenu du fichier est adapté à cet usage. Si ce n'est pas le cas alors on rejette le fichier.
    Par contre ça implique que le traitement tente d'ouvrir les fichiers, alors qu'il est sensé vérifier qu'ils sont secure avant qu'un autre traitement les ouvre. :/

  4. #4
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 570
    Par défaut
    Bonjour,

    oui, les types MIME se basent sur l'extension.

    Ta solution me semble la meilleure, mais il va tout de même te falloir trouver la "signature" dudit logiciel dans le fichier...

  5. #5
    Membre Expert
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    692
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 95
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 692
    Par défaut
    L'utilitaire en ligne de commande File de linux, avec sa base magic,
    portable sur windows bien sûr, peut faire le travail d'analyse.

    Il existe aussi filetype, entre autres pour python, juste au cas où.

  6. #6
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 570
    Par défaut
    Merci pour l'info. Je ne connaissais pas

Discussions similaires

  1. [Batch] Copier et renommer un fichier sans modifier son extension
    Par Bilbao400 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 25/03/2018, 14h36
  2. Vérifier si un fichier existe par son extension !
    Par cincap dans le forum Débuter
    Réponses: 10
    Dernier message: 14/11/2011, 13h08
  3. Réponses: 0
    Dernier message: 03/08/2010, 14h12
  4. [XL-2000] Comment faire pour vérifier qu'un fichier est bien présent dans un emplacement précis
    Par Avinetor dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/06/2009, 14h12
  5. [VB] ouvrir un fichier quelque soit son extension.
    Par gopal dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/05/2006, 20h59

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