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 :
- <?php
- $filepath = $_GET["filepath"];
- $filename = $_GET["filename"];
- header("Content-Type: application/force-download" );
- header("Content-Transfer-Encoding: image/png\n" );
- header("Content-disposition: attachment; filename=$filename" );
- header("Content-Length: ".filesize($filepath. $filename));
- header("Pragma: no-cache" );
- header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public" );
- header("Expires: 0" );
- readfile($filepath. $filename );
- ?>
|
J'ai un début de réponse :
Code :
- <?php
- $extensions_ok = array (".png" );
- if (in_array(strtolower(substr($filename, -4)),$extensions_ok))
- {
- //========= bonne extention on copie =====
- }
- ?>
|
Bien que je ne vérifie pas le dossier grâce à cela.
Merci !