Protection téléchargement de fichier

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par ladaman, 9 Août 2006.

  1. ladaman
    ladaman Nouveau WRInaute
    Inscrit:
    9 Novembre 2005
    Messages:
    40
    J'aime reçus:
    0
    Salut à tous,

    J'ai des pages protégées par login et mot de passe stockés dans un BDD et le tout est stocké dans une session quand le visiteur est logué.

    Sur une de ces pages protégées, il y a un lien vers un fichier à télécharger.
    Ma question est: comment protéger mon fichier ?

    Pour l'instant il se trouve dans un répertoire protégé par .htaccess mais du coup il faut s'identifier à nouveau.

    Sinon, j'ai entendu parler d'une solution avec la fonction readfile(); (pour pouvoir cacher le chemin de mon fichier) mais je n'ai pas réussi à mettre ça en place avec les tutos que j'ai pu trouver. Vous l'aurez deviné, je ne suis pas vraiment une brute en PHP.

    Si quelqu'un peut m'aiguiller, ce serait cool.

    Merci d'avance de votre aide.
     
  2. tom_pascal
    tom_pascal WRInaute discret
    Inscrit:
    17 Novembre 2003
    Messages:
    247
    J'aime reçus:
    0
    Bonjour,

    Pour ne pas avoir de souci avec le readfile, j'avais vu que fread était recommandé.

    Pour ma part, je procède ainsi :

    Code:
    if ($_SESSION["ok_le_gars_est_connecte"]){
    
    
    $filename="un_repertoire_secret/fichier_telecharge.zip";
    $apparencename="archive.zip";
    
    
    	$filesize=filesize($filename);
    		
    	header("Pragma: public");
    	header("Expires: 0"); // set expiration time
    	header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    		
    	header("Content-Type: application/zip");
    	header("Content-Length: ".$filesize);
    	header("Content-Disposition: inline; filename=".$apparencename);
    	header("Content-Transfer-Encoding: binary");
    		 
    	//Can't use readfile() due to poor controlling of the file download.
    	//(IE have this problems)...
    	//readfile($filename);
    		
    	//use fopen() instead of readfile...
    	$fp = fopen($filename, 'rb');
    	$zip_buffer = fread($fp, $filesize);
    	fclose ($fp);
    		
    	//sleep(1);
    		
    	print $zip_buffer;
    }
     
  3. ladaman
    ladaman Nouveau WRInaute
    Inscrit:
    9 Novembre 2005
    Messages:
    40
    J'aime reçus:
    0
    Salut tom_pacal,

    Merci pour ton code c'est exactement ce que je cherche à faire et ça marche nickel.... sur Firefox uniquement.
    Internet explorer ne l'entend pas de la même oreille et me propose de télécharger un fichier qui s'appelle: "le-nom-de-la-page". Il ne met même pas d'extension.

    Sais tu d'où ça peut venir ?
    As tu le même problème ?
    Je n'ai pourtant rien changé à ton code.

    En tout cas, merci de ton aide. Je vais continuer mes recherches dans cette direction.
     
  4. ladaman
    ladaman Nouveau WRInaute
    Inscrit:
    9 Novembre 2005
    Messages:
    40
    J'aime reçus:
    0
    Salut à tous,

    J'ai trouvé d'où vient mon erreur.
    j'avais mis
    $apparencename="un-repertoire/archive.zip";
    au lieu de
    $apparencename="archive.zip";

    Erreur d'inattention qui m'a valu quelques heures de recherches.
    Qu'est ce que ça peut être ingrat le PHP !!! :lol:

    Merci encore à tom_pascal de sont aide.
     
  5. tom_pascal
    tom_pascal WRInaute discret
    Inscrit:
    17 Novembre 2003
    Messages:
    247
    J'aime reçus:
    0
    content d'avoir pu t'être utile :)
     
Chargement...
Similar Threads - Protection téléchargement fichier Forum Date
Protection de site web : quel code ajouter dans htaccess ? URL Rewriting et .htaccess 5 Mars 2021
Loi sur la protection du consommateur (California Consumer Privacy Act) Droit du web (juridique, fiscalité...) 18 Novembre 2019
Google Adwords - Protection de marque AdWords 12 Novembre 2019
Texte utilisation cookies et protection des données : pb de duplicate ? Débuter en référencement 8 Janvier 2019
Règlement européen sur la protection des données (RGPD) Droit du web (juridique, fiscalité...) 20 Avril 2018
Suite Réception mail Google protection de données Google Analytics 12 Avril 2018
Protection de mon site, de son contenu et de mes rédactions Droit du web (juridique, fiscalité...) 13 Février 2017
mentions legales formulaire web protection donnees Droit du web (juridique, fiscalité...) 9 Octobre 2016
Protection htaccess par IP+mot passe Administration d'un site Web 8 Juin 2016
Protection de fichiers via un .htaccess URL Rewriting et .htaccess 28 Avril 2016
Protection variable php contre les injections ? Développement d'un site Web ou d'une appli mobile 5 Avril 2016
Sécuriser son formulaire de recherche (protection anti-robot) Développement d'un site Web ou d'une appli mobile 24 Février 2015
INPI Protection marque. Droit du web (juridique, fiscalité...) 4 Octobre 2014
Merci de tester ma protection fail2ban ipv6 ? Administration d'un site Web 17 Août 2014
AE et protection sociale Droit du web (juridique, fiscalité...) 1 Décembre 2013
Protection contre la récupération de mot de passe Droit du web (juridique, fiscalité...) 25 Novembre 2013
Quelle protection pour le marchand avec Paypal et contrat VAD ? e-commerce 23 Novembre 2012
Protection juridique d'un site comparatif ou d'avis consommateur Droit du web (juridique, fiscalité...) 1 Novembre 2012
Protection d'un site auprès d'organisme copyright en ligne Droit du web (juridique, fiscalité...) 15 Octobre 2012
Protection de mon code / design sur site web et société. Droit du web (juridique, fiscalité...) 5 Août 2012