Formulaire d'upload pas sécuriséss

Fermé
nf22 Messages postés 1 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 15 février 2015 - Modifié par jordane45 le 15/02/2015 à 15:25
 nf22 - 20 févr. 2015 à 19:38
Bonjour, malgré les sécurité que j'ai mise en place sur mon formulaire d'upload j'arrive quand même a y télécharger des fichier php (renommer en jpg) avec l'extention tamper data que j'ai était installer sur firefox
comment bloquer cette faille .voici le code :

<?php
 
 if( isset($_POST['upload']) )// si formulaire soumis
 {
   $content_dir = 'C:\Program Files (x86)\EasyPHP-5.3.9\www\test\images\\'; // dossier où sera déplacé le fichier

  
  $tmp_file = $_FILES['fichier']['tmp_name'];
  
  if( !is_uploaded_file($tmp_file) )
  {
   exit("Le fichier est introuvable");
  }

  // on vérifie maintenant l'extension
  $type_file = $_FILES['fichier']['type'];

  if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
  {   
        $stp = ' mysql.server stop';
   exit("Le fichier n'est pas une image");
  }

  // on copie le fichier dans le dossier de destination
  $name_file = $_FILES['fichier']['name'];

  if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) ) {
   exit("Nom de fichier non valide");
  }
  else if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
  {
   exit("Impossible de copier le fichier dans $content_dir");
  }

  echo "Le fichier a bien été uploadé";
  
 }
 
 ?>

merci ;

EDIT : AJOUT DES BALISES DE CODE

1 réponse

jordane45 Messages postés 38171 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 663
15 févr. 2015 à 15:30
Bonjour,

Tu pourrais utiliser file_get_contents pour lire le contenu du fichier uploadé puis utiliser une REGEX pour voir si elle contient des balises PHP ( <?php ) et/ou Javascript ( <script )


0
merci beaucoup jordane45
0