我目前正在使用以下代码来扫描作为申请表的一部分上传的文件:
$safe_path = escapeshellarg($dir . $file);
$command = '/usr/bin/clamscan --stdout ' . $safe_path;
$out = '';
$int = -1;
exec($command, $out, $int);
if ($int == 0) {
// all good;
} else {
// VIRUS!;
}
它有效,但速度很慢。任何人都有任何建议 a)。加快速度和 b)。总体上改进脚本(例如,我不完全清楚 exec() 与 system() 等的好处)?
如果速度无法提高,那么我希望显示某种临时消息“请耐心等待您的文件正在扫描”,但我也不确定如何去做。
编辑:抱歉,应该说扫描需要在当时完成,因为如果没有有效(即无病毒)文件,相关应用程序将不会被接受。
最佳答案
使用 clamdscan 而不是 clamscan。 Clamdscan 使用始终运行的内置守护进程,不必每次都加载病毒表(就像 clamscan 那样)。
关于php - 扫描 PHP 上传的病毒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/656583/