【问题标题】:Multipart Form Submit Directly to an URL多部分表单直接提交到 URL
【发布时间】:2009-09-30 14:22:27
【问题描述】:

我们有一个基于网络的应用程序,其中用户可以选择将文档/文件上传到我们的数据库中。在上传任何文档/文件之前,我们希望将文件发送给http://virusscan.jotti.org/en 等少数网站提供的免费在线病毒扫描,从他们那里获取扫描状态。只有响应状态OK,才允许上传到我们的数据库中。

我什至尝试了以下解决方案: lindaocta.com/?cat=20

我的问题是:

1) 如何在我的应用程序中处理将文档/文件直接发送到免费的在线病毒扫描程序网站无需将文档下载到我的服务器

2) 现在的 Web 应用程序是使用 AJAX 开发的,因此可以在页面中逐步更新响应。如果我尝试阅读免费在线病毒扫描程序网站返回的响应,这不是我所期望的。我该如何解决这种情况?

技术 操作系统:RedHat Linux ES5.0 Java 1.6 JSP 小服务程序 Tomcat v6.0.10

【问题讨论】:

    标签: java servlets antivirus antivirus-integration


    【解决方案1】:

    1) 您至少必须通过您的服务器代理请求,以便有机会检查病毒扫描程序的响应。如果客户直接发布到 AV 公司,您的 servlet 将被排除在循环之外,除非 AV 站点提供某种基于令牌的第 3 方验证系统。什么是免费的 AV 网站?

    2) 永远不要在客户端(浏览器)端处理任何安全业务逻辑,无论是通过 AJAX 还是任何其他方法。攻击者可以简单地修改 javascript 并伪造来自 AV 扫描仪站点的积极响应。

    为什么您如此害怕将可能不安全的文件下载到您的服务器?只需将其上传到您创建的特殊的非公开浏览目录(没有其他程序正在寻找配置文件),扫描它是否有病毒,如果没有通过则将其删除。如果您从未尝试执行它,并且它没有覆盖某些配置文件或内核文件或其他东西,那么您可能已经做得足够了。

    【讨论】:

    • 我知道现在已经 2 年了。我该如何完成这项工作——You would have to at least proxy the request through your server?对此工作示例的任何指针表示赞赏。
    • 另外,我无法理解这些要点——... where no other program is looking for config files ...... it's not overwriting some config file or kernel file or something ...。你能解释一下这里的配置文件或内核文件是什么意思吗?
    猜你喜欢
    • 1970-01-01
    • 2013-03-06
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多