Test d'utilisation de php5-clamavlib
This commit is contained in:
parent
71358cd160
commit
18a58130f5
@ -53,19 +53,24 @@ if ( $_POST["sendit"] && $conf->upload != 0)
|
|||||||
if (! is_dir($upload_dir)) create_exdir($upload_dir);
|
if (! is_dir($upload_dir)) create_exdir($upload_dir);
|
||||||
|
|
||||||
if (is_dir($upload_dir))
|
if (is_dir($upload_dir))
|
||||||
|
{
|
||||||
|
$result = doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']);
|
||||||
|
if ($result == true)
|
||||||
{
|
{
|
||||||
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
|
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
|
||||||
{
|
//print_r($_FILES);
|
||||||
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
|
|
||||||
//print_r($_FILES);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Echec transfert (fichier dépassant la limite ?)
|
|
||||||
$mesg = '<div class="error">'.$langs->trans("ErrorFileNotUploaded").'</div>';
|
|
||||||
// print_r($_FILES);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else if ($result == false)
|
||||||
|
{
|
||||||
|
// Echec transfert (fichier dépassant la limite ?)
|
||||||
|
$mesg = '<div class="error">'.$langs->trans("ErrorFileNotUploaded").'</div>';
|
||||||
|
// print_r($_FILES);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$mesg = '<div class="error">'.$langs->trans("FileIsInfectedWith",$result).'</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Suppression fichier
|
// Suppression fichier
|
||||||
|
|||||||
@ -1690,7 +1690,15 @@ function dolibarr_print_error($db='',$error='')
|
|||||||
*/
|
*/
|
||||||
function doliMoveFileUpload($src_file, $dest_file)
|
function doliMoveFileUpload($src_file, $dest_file)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
$file_name = $dest_file;
|
$file_name = $dest_file;
|
||||||
|
|
||||||
|
if ($conf->global->MAIN_USE_AVSCAN)
|
||||||
|
{
|
||||||
|
$malware = dol_avscan_file($src_file);
|
||||||
|
if ($malware) return $malware;
|
||||||
|
}
|
||||||
|
|
||||||
// Security:
|
// Security:
|
||||||
// On renomme les fichiers avec extention executable car si on a mis le rep
|
// On renomme les fichiers avec extention executable car si on a mis le rep
|
||||||
@ -2070,6 +2078,25 @@ function dol_delete_dir_recursive($dir,$count=0)
|
|||||||
return $count;
|
return $count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Scan les fichiers avec Clamav
|
||||||
|
\param file Fichier a scanner
|
||||||
|
\return malware Nom du virus si infecté sinon retourne "null"
|
||||||
|
*/
|
||||||
|
function dol_avscan_file($file)
|
||||||
|
{
|
||||||
|
$malware = '';
|
||||||
|
$maxreclevel = 5 ; // maximal recursion level
|
||||||
|
$maxfiles = 1000; // maximal number of files to be scanned within archive
|
||||||
|
$maxratio = 200; // maximal compression ratio
|
||||||
|
$archivememlim = 0; // limit memory usage for bzip2 (0/1)
|
||||||
|
$maxfilesize = 10485760; // archived files larger than this value (in bytes) will not be scanned
|
||||||
|
|
||||||
|
cl_setlimits($maxreclevel, $maxfiles, $maxratio, $archivememlim, $maxfilesize);
|
||||||
|
$malware = cl_scanfile($file);
|
||||||
|
|
||||||
|
return $malware;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Fonction print_barre_liste
|
\brief Fonction print_barre_liste
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user