如何在文件流式传输时对其进行病毒扫描,以上传到 Java Web 应用?[已关闭]

基本上,我想在将文件上传到Web应用程序时(在将它们写入磁盘之前)对其进行病毒扫描。

特别是,我想与“迈克菲病毒扫描企业版”(最新版本)集成。

从设计和维护的角度来看,使用第三方产品扫描防火墙上的某些路径会更好吗?这样,Web应用程序就不必关注病毒扫描。为了最大限度地减少开销,典型的病毒扫描防火墙允许您指定URL模式以及特定的POST数据模式。如果它是一个HTTPS站点,这当然是行不通的(除非有某种方法可以解决这个问题)。

来自stackoverflow的这篇文章似乎表明McAfee的SDK不再可用,但是是否有开源替代方案?


答案 1

查看Clamv ( http://www.clamav.net/ )它是一个开源的防病毒软件,您可以扫描流。因此,您无需保存文件即可对其进行扫描。

http://linux.die.net/man/1/clamscan

扫描数据流:猫测试文件|蛤蜊 -

因此,使用 - arg. 将文件内容写入 stdin 并等待结果代码,这很容易。

在测试期间,您可以使用 EICAR 文件,该文件专用于检查防病毒软件是否正常工作。http://en.wikipedia.org/wiki/EICAR_test_file


答案 2

您可以调查ClamAVClamWin。它们是开源病毒扫描程序,ClamWin基于ClamAV。您应该能够修改其中一个(如果有人还没有)以执行所需的操作。

另一方面,您可以考虑简单地将流文件拖放到一个目录中,并让扫描程序监视该特定目录。


推荐