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 :

Limiter la taille de telechargement


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut Limiter la taille de telechargement
    Bonjour,

    Imaginons je met un fichier test.zip dans www de wamp.
    On va dans l'url et on le télécharge.

    Maintenant je voulais savoir est ce qu'on peut limiter la taille autoriser en téléchargement par exemple a 10MB par fichier.

    Merci.

  2. #2
    Membre Expert
    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
    Par défaut
    Tu peux tester la taille du fichier avec la fonction filesize avant le téléchargement.

  3. #3
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Oui, merci sa me sera utile.

    Mais pour limiter tous les fichier accessible via une url comme http://monte.com/.zip ?

  4. #4
    Membre Expert
    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
    Par défaut
    Tu dois contrôler tous les téléchargements avec PHP et ne pas permettre l'accès direct des ces fichiers (soit par une restriction dans le serveur web, soit en les mettant hors de portée du serveur).

    En résumer tous les téléchargements seront de la forme telechargement.php?file=fichier.zipoù telechargement.php ayant la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    //definir la taille maximale de telechargement
    define('TAILLE_MAXIMALE', '100');
     
    //réception du nom du fichier + nettoyage
    //ne jamais faire confiance aux donnees utilisateurs
    $fichier_a_telecharger = clean( $_GET['file'] );
     
    //tous les fichiers téléchargeables devront dans un dossier unique
    $dossierPublic = '/publiczip/';
     
    $fichier_complet = $dossierPublic.$fichier_a_telecharger;
     
    if( file_exists( $fichier_complet ) ){
     $taille_fichier = filesize( $fichier_complet );
     if( $taille_fichier < TAILLE_MAXIMALE ){
        //entetes http
        header( 'Content-Type: application/octet-stream' );
        header( 'Content-Disposition: attachment; filename='.basename($fichier_complet ) );
        header( 'Content-Transfer-Encoding: binary');
        header( 'Content-Length: ' . filesize( $fichier_complet ));
     
        //lecture du fichier
        readfile( $fichier_complet );
     }
    }
     
    function clean( $filename ){
      //cette fonction doit être enrichie
     return addslashes( $filename );
    }

  5. #5
    Membre Expert
    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
    Par défaut
    sinon j'ai vu qu'il y avait une entrée à la FAQ : Comment protéger des fichiers en téléchargement ?

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    thebarbarius > c'est pas mal ton idée, je sais pas si ça été prévu dans la conf des serveurs, ça serait pourtant simple à faire, ont fait bien des exception pour le nom des fichiers (filematch) ca serait intéressant de le faire sur la taille

Discussions similaires

  1. [MySQL] Limiter la taille du texte a l'affichage
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/03/2006, 12h08
  2. Limiter la taille d'une ou plusieurs bases de données
    Par Thierry8 dans le forum Administration
    Réponses: 7
    Dernier message: 13/03/2006, 00h51
  3. Feuille de style, faut-il limiter leurs tailles?
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 17
    Dernier message: 30/01/2006, 08h05
  4. [ Eclipse2.1 ][ Plugin ] limiter la taille des boutons
    Par whilecoyote dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/11/2005, 17h08
  5. [Tomcat][Jsp][Upload]Limiter la taille d'un upload...
    Par Titom dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/05/2005, 16h33

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