Problème : impossible de forcer le téléchargement

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème : impossible de forcer le téléchargement

Re: Problème : impossible de forcer le téléchargement

par moogli » 08 oct. 2012, 12:20

J'ajouterai à que c'est une belle faille de sécurité ton truc la, avec ça on peux avoir n'importe quel fichier de ton site XD.

Pour le reste : fichier trop gros pour php ...


@+

Re: Problème : impossible de forcer le téléchargement

par sirakawa » 07 oct. 2012, 21:08

<?php
$chemin1=$_POST['chemin'];
$filename=$_POST['filename'];
print_r($_POST);//aiderait à y voir moins obscur
header("Content-disposition: attachment; filename=$filename");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: filetype($chemin)\n");
header("Content-Length: ".filesize($chemin));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
readfile($chemin1);
?>

Re: Problème : impossible de forcer le téléchargement

par xTG » 07 oct. 2012, 20:48

Jai ceci : <br />
<b>Warning</b>: readfile() [<a href='function.readfile'>function.readfile</a>]: Filename cannot be empty in <b>/home/users/xxx/download.php</b> on line <b>xx</b><br />
$_POST['filename'] est donc vide.

Re: Problème : impossible de forcer le téléchargement

par ABodyWithAHead » 07 oct. 2012, 19:46

Hum, j'ai également ça !!

<b>Fatal error</b>: Allowed memory size of 134217728 bytes exhausted (tried to allocate 735850497 bytes) in <b>/home/users/xxx/download.php</b> on line <b>xx</b><br />

Re: Problème : impossible de forcer le téléchargement

par ABodyWithAHead » 07 oct. 2012, 18:42

Jai ceci : <br />
<b>Warning</b>: readfile() [<a href='function.readfile'>function.readfile</a>]: Filename cannot be empty in <b>/home/users/xxx/download.php</b> on line <b>xx</b><br />

J'ai testé ce code :
 <?php
$chemin1=$_POST['chemin'];
$filename=$_POST['filename'];
header("Content-disposition: attachment; filename=$filename"); 
header("Content-Type: application/force-download"); 
header("Content-Transfer-Encoding: filetype($chemin)\n"); 
header("Content-Length: ".filesize($chemin)); 
header("Pragma: no-cache"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
header("Expires: 0"); 
readfile($chemin1); 
?>
où filename=svt.avi, chemin1=monsite.com/file/videos/svt.avi et chemin=file/videos/svt.avi, mais j'ai la même chose!

Re: Problème : impossible de forcer le téléchargement

par moogli » 07 oct. 2012, 16:28

Salut,

Y'a quoi dans le fichier ?
(Ouvre le avec éditeur de texte)

@+

Problème : impossible de forcer le téléchargement

par ABodyWithAHead » 07 oct. 2012, 13:32

Bonjour !

Alors voilà : j'ai essayé récemment le script suivant :
header('Content-disposition: attachment; filename='.$filename); 
header('Content-Type: application/force-download'); 
header('Content-Transfer-Encoding: fichier');  
header('Content-Length: '.filesize($cheminfichier)); 
header('Pragma: no-cache'); 
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); 
header('Expires: 0'); 
readfile($cheminfichier); 
Où $filename=svt.avi & $cheminfichier=files/videos/svt.avi

Le téléchargement se lance, et non le streaming direct ( avec VLC par exemple ), donc ça c'est bon, mais le problème est que le fichier téléchargé pèse 1Ko, et non 500M ...

J'ai essayé de modifier le "application/force-download" par video/avi : même soucis. J'ai aussi fait : "Content-Type: '.mime_content_type($cheminfichier)" Rien à faire ! Le fichier téléchargé ne fait pas la taille réelle !

Pourriez-vous m'aider ?

Cordialement,