Ajout type mime dans script form upload
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:
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é avec succè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é 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è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>';
}
}
?> |