Comment connaitre le type d'un fichier sur UNIX* ?
Lorsque vous exécutez la commande native Unix "file nom_fichier", elle renvoie des informations sur le fichier spécifié. En effet, le type MIME d'un fichier uploadé est fourni par le client web, ce qui constitue un trou de sécurité facile à contourner pour un pirate.
Voici le code qu’il faut utiliser :
<?
if(is_uploaded_file($userfile))
{
if(!ereg("text",exec(escapeshellcmd("file $userfile"))))
{
unlink($userfile);
echo "Désolé, seuls les fichiers texte sont autorisés !";
} else
{
move_uploaded_file($userfile, "/upload");
}
?>