Sécurité pour forcer le téléchargement d'une image

Sécurité pour forcer le téléchargement d'une image - PHP - Programmation

Marsh Posté le 05-04-2011 à 12:31:40    

Bonjour !
Mon niveau en php n'est pas élevé, bien que j'ai lu et relu pas mal de choses avant de poster ce message.
J'avais tenté de demander si mon code était dangereux sur un autre forum. J'ai eu des réponses généralement rassurantes, et pourtant j'avais raison de m'inquiéter, j'ai téléchargé mon index.php en quelques manips dans l'url, alors quelqu'un d'expérimenté en php... je n'ose pas y penser.
 
->Comment sécuriser le script ci dessous qui sert à forcer le téléchargement sur des .png dans un dossier, les deux variables étant transmises par un lien. Tester l'existence, oui, mais ça ne suffit pas puisqu'un index.php ça existe.  
 

Code :
  1. <?php
  2. $filepath = $_GET["filepath"];
  3. $filename = $_GET["filename"];
  4. header("Content-Type: application/force-download" );
  5. header("Content-Transfer-Encoding: image/png\n" );
  6. header("Content-disposition: attachment; filename=$filename" );
  7. header("Content-Length: ".filesize($filepath. $filename));
  8. header("Pragma: no-cache" );
  9. header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public" );
  10. header("Expires: 0" );
  11. readfile($filepath. $filename );
  12. ?>


 
J'ai un début de réponse :

Code :
  1. <?php
  2. $extensions_ok = array (".png" );
  3. if (in_array(strtolower(substr($filename, -4)),$extensions_ok))
  4.    {
  5.    //========= bonne  extention on copie =====
  6.    }
  7. ?>


Bien que je ne vérifie pas le dossier grâce à cela.
 
Merci !

Reply

Marsh Posté le 05-04-2011 à 12:31:40   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed