Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/08/2011, 06h42   #1
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
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.
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 15h30   #2
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Tu peux tester la taille du fichier avec la fonction filesize avant le téléchargement.
__________________
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
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 17h27   #3
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Oui, merci sa me sera utile.

Mais pour limiter tous les fichier accessible via une url comme http://monte.com/.zip ?
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 18h41   #4
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
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 :
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 );
}
__________________
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
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 18h42   #5
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
sinon j'ai vu qu'il y avait une entrée à la FAQ : Comment protéger des fichiers en téléchargement ?
__________________
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
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 18h45   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h32.


 
 
 
 
Partenaires

Hébergement Web