2010-11-09 72 views
1

我试图在Windows上安装ClamAV,但找不到如何操作。使用PHP在Windows下扫描恶意软件的上传文件

什么其实我想要的是扫描恶意软件上传的文件,并返回的值等“安全”或“被感染:X”

你觉得它使用免费的图书馆有可能在Windows?

你知道是否有付费软件可以做到这一点(即使使用命令行)?

+0

PHP和恶意软件扫描?想到“马的课程”这个短语。 – 2010-11-09 03:17:28

回答

2

我设法通过在Windows 2008 Server上安装ClamWin来实现它。 (的ClamWin-0.97.6)。我创建了eicar.txt文件,以检验检测:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* 

创建test.php的文件:

<?php 
$file = 'C:/Users/Localadmin/Desktop/testfile/eicar.txt'; // infected test file 
$db = '"C:/Documents and Settings/All Users/.clamwin/db/"'; // path to database of virus definition 
$scan_result = shell_exec("D:/programs/clamwin/bin/clamscan --database=$db $file"); 
echo $scan_result; 
?> 

它给了我这样的结果:

Eicar-Test-Signature FOUND 

----------- SCAN SUMMARY ----------- 
Known viruses: 1568163 
Engine version: 0.97.6 
Scanned directories: 0 
Scanned files: 1 
Infected files: 1 
Data scanned: 0.00 MB 
Data read: 0.00 MB (ratio 0.00:1) 
Time: 7.363 sec (0 m 7 s) 

比你可以处理字符串$ scan_result找出什么麻木呃已经在'受感染文件:'之后返回。

我会用它来扫描通过形式上传的文件,并因为扫描需要一段时间(7秒),我会用一些AJAX脚本,它可以很好地返回反馈给用户,例如“上传文件...”和“扫描病毒...

+0

感谢Arturito为您解答!我会用你的方式;) – 2013-01-12 02:07:32

+0

@JeremyDicaire这个作品很好吗?帮助我.. – user3784251 2015-04-05 12:51:24

+0

@ user3784251我使用了返回的字符串,并使用PHP来分析/分割结果。它很混乱,但它工作。如果你仍然需要帮助解决你的具体问题,你应该开一个新的问题;)祝你好运! – 2015-06-10 17:43:43

1

您可以安装clamav for windows(clamwin),并使用php的passthru函数通过命令行扫描文件并获取输出。解析它然后显示你的消息。你将不得不调整你的PHP超时值,或者配置你的应用程序上传,让用户不断刷新状态,同时后台脚本扫描并将结果插入数据库或其他东西。试着看着他们这样做的virustotal.com,并用超过20个AV扫描仪进行扫描。

+0

感谢您的提示,但自2小时以来,我试图了解可以使用ClamAV(最新2.0版本)的命令,但是我找不到任何信息......包括官方网站......任何想法? – 2010-11-10 01:49:21

+0

你有没有试过C:\ Program Files \ ClamWin \ bin> clamscan {yourfile}? – superfro 2010-11-10 15:10:59

+0

我安装的ClamAv版本没有Bin文件夹:S - 编辑 - 好的我安装了ClamAv而不是ClamWin,我会尝试安装ClamWin,我会给你更新。谢谢! – 2010-11-10 23:17:34