【发布时间】:2011-12-07 22:50:52
【问题描述】:
我有一个使用 Java Servlet 的 Web 应用程序,用户可以在其中上传文件。如何防止恶意文件和病毒被上传?
【问题讨论】:
标签: java security file-upload
我有一个使用 Java Servlet 的 Web 应用程序,用户可以在其中上传文件。如何防止恶意文件和病毒被上传?
【问题讨论】:
标签: java security file-upload
ClamAV antivirus 团队为您自己的程序提供very easy interface for integrating the clamd daemon。它基于套接字而不是基于 API,因此您可能需要编写一些方便的包装器以使其在代码中看起来“自然”,但最终结果是它们不需要维护十几种或更多语言绑定。
【讨论】:
或者,如果您对相关机器有足够的访问权限,您可以简单地调用命令行应用程序来进行扫描。有足够的关于启动命令行应用程序的信息,并且大多数(如果不是全部)本地安装的病毒扫描程序都有命令行选项。这样做的好处是并非每个 IP 数据包都必须通过扫描程序(但您必须读取和解析病毒扫描程序的输出)。它还确保您在 Java 应用程序中获得可用信息,以便您可以警告用户。
【讨论】:
您还需要防止路径遍历(确保用户不能将文件上传到他们不属于的地方,例如覆盖类路径中的 JAR 文件或路径中的 DLL)
【讨论】: