Bonjour je doit faire un systeme d'upload sur un site, sans inscriptions, donc le premier venu pourra uploader des fichiers sur le serveur et je voulait avoir votre avis sur la securité de mon code.
function do_upload($upload_dir, $upload_url) {
$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = preg_replace("/ /","_",$_FILES['userfile']['name']);
$file_type = $_FILES['userfile']['type'];
$file_size = $_FILES['userfile']['size'];
$result = $_FILES['userfile']['error'];
$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;
if ( $_FILES[ 'userfile' ][ 'error' ] != 0 ) {
$message = "Erreur serveur";
return $message;
}
if ( $file_name =="") {
$message = "Nom de fichier invalide";
return $message;
}
else if ( $file_size > 200000) {
$message = "La taille du fichier est superieure a 200 Ko";
return $message;
}
else if ( $file_type == "text/plain" ) {
$message = "Desolé un ne peu pas uploader de script" ;
return $message;
}
else if ( ($file_type == "application/octet-stream") ||($file_type == "text/html") ) {
$message = "Desolé un ne peu pas uploader de script" ;
return $message;
}
$upload_denied_extentions = array( "exe", "pl", "php", "php3", "php4", "php5", "phps", "asp","cgi", "html", "htm", "dll", "bat", "cmd" );
$extension = strtolower(substr(strrchr($file_url, "."), 1));
foreach ($upload_denied_extentions AS $denied_extention) {
if($denied_extention == $extension) {
$message = "Desolé un ne peu pas uploader de script" ;
return $message;
}
}
$result = move_uploaded_file($temp_name, $file_path);
$message = ($result)?"Chemin a copier/coller <a href=$file_url>$file_url</a>" :
"Probleme avec cet upload, dsl";
return $message;
}
Sinon j'ai supprimé :
$rep=dir(images);
while($fichier = $rep->read())
{
if($fichier!="." && $fichier!="..")
{
++$cpt;
}
}
if ($cpt > 15) {
$message = "Le quota de fichier total sur le serveur a été depassé cette semaine";
}
et
if (file_exists('images/'.$_FILES['userfile']['name'])) {
$message = "Il ya deja un fichier avec ce nom";
}