none
FileUpload et intégrité ? RRS feed

  • Question

  •  

    Bonjour

     

    Je voudrais savoir si l'utilisation du control FileUpload de ASP .Net 2.0 est sécurisé c'est à dire qu'il garanti l'intégrité du fichier à la réception côté serveur ?

    Y a t-il des limites dans l'ulitisation de ce contrôle par rapport à un passage classqiue par ftp et non http ?

     

    Merci

     

     

     

    mercredi 26 septembre 2007 09:22

Réponses

  • Bonjour,

     

    Je pense qu'il est très difficile de répondre à votre question et que seul un spécialiste des protocoles pourrait répondre.

    Cependant, je vous livre mes quelques reflexions qui j'espère feront avancer le schmilblic.

     

    Le contôle FileUpload fait un rendu HTML qui est le suivant :

    <input type="file" name="FileUpload1" id="FileUpload1" />

    A partir de là, on comprend parfaitement que cette technique de FileUpload est une fonctionnalité prise en charge intégralement et exclusivement par le navigateur. Il existe d'ailleurs une spec RFC qui décrit ce mécanisme.

     

    A mon avis la seule garantie qu'on peut avoir c'est que tous les paquets envoyés ( pendant le transfert) par le navigateur sont reçus par IIS. Mais garantir qu'il n'y a pas un petit malin qui a modifié au passage quelques octets, je ne m'y risquerai pas.

     

    Qui dit intégrité dit, génération d'un Hash du fichier puis encryption de ce Hash avec une clé public; puis à réception sur le serveur, décryptage du Hash, génération du Hash sur le fichier reçu et comparaison des deux Hash.

    Cette technique peut être implémentée dans un Web service développé avec Visual Studio 2005 et WSE 3.0.

    C'est à dire que pour garantir l'intégrité d'un upload de fichier sur HTTP, il n'y a que WSE 3.0 qui permette cela.

     

    Concernant une comparaison avec FTP classique, je pense qu'il les deux méthodes ne sont pas comparables.

    En effet qui dit FTP dit logiciel client qui réalise l'Upload.

    Côté serveur, il faut un outil de type Worflow pour redirigé le fichier reçu sur le dossier adéquat. 

    D'autre part la notion d'intégrité n'est pas non plus garantie.

     

    A mon avis la seule situation qui peut faire pencher la balance en faveur de l'usage de FTP, c'est la taille des fichiers.

    Si chaque fichier dépasse systématiquement les 5 mégas, il me paraît plus judicieux de les transférer par FTP.

     

    Cordialement

     

    mercredi 26 septembre 2007 20:34

Toutes les réponses

  • Bonjour,

     

    Je pense qu'il est très difficile de répondre à votre question et que seul un spécialiste des protocoles pourrait répondre.

    Cependant, je vous livre mes quelques reflexions qui j'espère feront avancer le schmilblic.

     

    Le contôle FileUpload fait un rendu HTML qui est le suivant :

    <input type="file" name="FileUpload1" id="FileUpload1" />

    A partir de là, on comprend parfaitement que cette technique de FileUpload est une fonctionnalité prise en charge intégralement et exclusivement par le navigateur. Il existe d'ailleurs une spec RFC qui décrit ce mécanisme.

     

    A mon avis la seule garantie qu'on peut avoir c'est que tous les paquets envoyés ( pendant le transfert) par le navigateur sont reçus par IIS. Mais garantir qu'il n'y a pas un petit malin qui a modifié au passage quelques octets, je ne m'y risquerai pas.

     

    Qui dit intégrité dit, génération d'un Hash du fichier puis encryption de ce Hash avec une clé public; puis à réception sur le serveur, décryptage du Hash, génération du Hash sur le fichier reçu et comparaison des deux Hash.

    Cette technique peut être implémentée dans un Web service développé avec Visual Studio 2005 et WSE 3.0.

    C'est à dire que pour garantir l'intégrité d'un upload de fichier sur HTTP, il n'y a que WSE 3.0 qui permette cela.

     

    Concernant une comparaison avec FTP classique, je pense qu'il les deux méthodes ne sont pas comparables.

    En effet qui dit FTP dit logiciel client qui réalise l'Upload.

    Côté serveur, il faut un outil de type Worflow pour redirigé le fichier reçu sur le dossier adéquat. 

    D'autre part la notion d'intégrité n'est pas non plus garantie.

     

    A mon avis la seule situation qui peut faire pencher la balance en faveur de l'usage de FTP, c'est la taille des fichiers.

    Si chaque fichier dépasse systématiquement les 5 mégas, il me paraît plus judicieux de les transférer par FTP.

     

    Cordialement

     

    mercredi 26 septembre 2007 20:34
  • Bonjour

     

    Merci pour cette réponse très complète

     

    Je ne connaissais pas WSE 3.0

     

     

    Merci 

    jeudi 27 septembre 2007 07:32