Bonjour à tous,

Je viens de modifier un petit script d'upload (mp3/wma/wav) et pour plus de sécurité j'ai inséré une vérification du type mime.

Mon problème est que lorsque je renomme "fichier.php" en "fichier.mp3" le script upload quand même le fichier.

Je me demande donc d'où vient le problème car la je cherche depuis plusieurs jours.

Si quelqu'un a une idée, je vous remercie par avance.



Voici le code :




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
 
$target     = "uploads/";
$max_size   = 9000000;
$ip = $_SERVER['REMOTE_ADDR'];
$ipf = "___[$ip]___";
$url = "www.radio87.fr___";
$date = date ("d.m.Y__H.i.s");
$extensions_ok = array("mp3","wma","wav");
$type = $_FILES['fichier']['type'];
 
 
$nom_file   = $_FILES['fichier']['name'];
$nom_file   = $date .$ipf .$url .$nom_file;
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];
$chemin     = $target;
$extension  = substr($nom_file,-3);
 
 
$to      = 'MAIL@MAIL.fr';
$subject = 'Envoi mp3';
$headers = 'From: MAIL@MAIL.fr';
$message = "Nom du fichier : $nom_file \n \n http://www.xxxxxxxxxxxxxxxxxxx/espace_prive/uploads/";
 
 
if($_POST['posted'])
{
 
 
  if($nom_file)
  {
 
    if(in_array(strtolower($extension),$extensions_ok))
    {
 
     if($type=='audio/mpeg' || $type=='audio/mp3' || $type=='audio/x-ms-wma' || $type=='audio/x-wav')
     {
 
        if(($taille <= $max_size))
        {
 
            if(move_uploaded_file($tmp,$chemin.$nom_file)) 
            {
 
                echo '<p>Fichier upload&eacute avec succ&egrave;s !</p>';
                echo '<ul><li>Nom du fichier : '.$nom_file.'</li>';
                echo '<li>Taille : '.$_FILES['fichier']['size'].' Octets</li>';
                echo '<li>Nous venons de recevoir un e-mail. Si le fichier est conforme, il sera diffus&eacute sur R87.</li>';
                echo '<li><a href="uploads/'.$nom_file.'" target="_blank">Voir le fichier</a></li><br><br>';
                mail($to, $subject, $message, $headers);
 
            }
               else
            {
 
                echo '<p>Probl&egrave;me lors de l\'upload ! <a href="envoyer_une_chronique.php">Retour</a></p>';
 
 
            }
        }
          else
        {
 
          echo '<p>Erreur dans la taille du fichier (taille max : 9 Mo) ! <a href="envoyer_une_chronique.php">Retour</a></p>';
        }
    }
          else
        {
 
          echo '<p>Votre fichier ne comporte pas un format valide ! <a href="envoyer_une_chronique.php">Retour</a></p>';
        }
    }
      else
    {
 
        echo '<p>Votre fichier ne comporte pas une extension valide ! <a href="envoyer_une_chronique.php">Retour</a></p>';
 
    }
   }
    else
   {
 
    echo '<p>Le champ du fichier est vide ! <a href="envoyer_une_chronique.php">Retour</a></p>';
   }
}
?>