Java webapp中的病毒扫描?

Posted

技术标签:

【中文标题】Java webapp中的病毒扫描?【英文标题】:Virus scanning in a Java webapp? 【发布时间】:2010-08-24 18:50:13 【问题描述】:

我正在编写一个基于 Java 的 Web 应用程序,它允许用户向网站上传和提交内容。不过,在它可用之前,我想执行病毒扫描以确保没有恶意内容被发布。有谁知道可以通过 Java 访问的防病毒扫描程序?该应用程序将托管在 Linux (CentOS 5.5 x64) 上并在 Tomcat 6.x 上运行。任何意见或建议将不胜感激!

【问题讨论】:

人们上传的是什么类型的“内容”? 【参考方案1】:

查看Clam AV。它似乎只以共享库的形式出现,所以你必须为它制作一个 JNI 包装器。我没试过,但看起来很整洁。

【讨论】:

正是我要建议的。很确定有允许从命令行使用的包,所以最坏的情况是,可以从 Java 内部运行系统命令并解析输出,但前提是您无法找到/为其制作包装器。 您可以执行一个进程并在上传的文件上运行“clamscan”。还要确保您使用“freshclam”更新病毒定义。在应用服务器中小心使用 JNI。 Segfault 将关闭整个 JVM。分叉的进程虽然效率不高,但不会。 好点,调用命令行版本也是一种选择。

以上是关于Java webapp中的病毒扫描?的主要内容,如果未能解决你的问题,请参考以下文章

Perl、ClamAV、扫描流中的病毒

病毒扫描可以关闭 java TCP 套接字连接吗?

用于运行被防病毒扫描程序删除的 Java 应用程序的 Windows 可执行文件

病毒扫描后以编程方式移动文件

使用 Azure 作为我的主机,我如何扫描用户上传的文件中的病毒和恶意软件?

从 Delphi 应用程序中激活文件病毒扫描