2009-09-30 78 views
1

我们有一个基于网络的应用程序,其中有一个选项供用户上传文件/文件到我们的数据库。在上传任何文件/文件之前,我们希望发送文件,以免诸如http://virusscan.jotti.org/en等少数网站提供的在线病毒扫描,从它们获取扫描状态。只有在响应状态正常的情况下,才能将其上传到我们的数据库。多部分表单直接提交到网址

我甚至试图给出解决办法: lindaocta.com/?cat=20

我的问题这里:

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

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

技术 操作系统:RedHat Linux上ES5.0 的Java 1.6 JSP Servlet的 的Tomcat v6.0.10

回答

1

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

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

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

+0

我知道这已经2年了。我如何完成这项工作 - “您至少必须通过您的服务器代理请求”?任何指向这个工作示例的指针表示赞赏。 – Gnanam 2012-05-29 09:46:28

+0

此外,我无法理解这些要点 - '......其他程序没有找到配置文件......','...它不覆盖一些配置文件或内核文件或其他东西......'。你可以在这里解释一下配置文件或内核文件的含义吗? – Gnanam 2012-05-29 10:04:01