我们有一个基于网络的应用程序,用户可以选择将文档/文件上传到我们的数据库中。在上传任何文档/文件之前,我们希望将文件发送到由http://virusscan.jotti.org/en等少数网站提供的免费在线病毒扫描,从中获取扫描状态。只有当响应状态为OK时,才允许将其上传到我们的数据库。
我甚至试过一个解决方案: lindaocta.com/?cat=20
我的问题是:
1)如何在我的应用程序中处理直接将文档/文件发送到免费的在线病毒扫描程序网站,而无需将文档下载到我的服务器。
2)现在,使用AJAX开发Web应用程序,因此可以在页面中逐步更新响应。如果我尝试阅读从免费在线病毒扫描程序网站返回的响应,它不是我所期望的。我该如何解决这种情况?
技术 操作系统:RedHat Linux ES5.0 Java 1.6 JSP Servlet的 Tomcat v6.0.10
答案 0 :(得分:1)
1)您必须至少通过服务器代理请求,以便有机会检查病毒扫描程序的响应。如果客户端直接发布到AV公司,除非AV站点提供某种基于令牌的第三方验证系统,否则您的servlet将被切断。什么是免费的AV网站?
2)永远不要通过AJAX或任何其他方法处理客户端(浏览器)端的任何安全业务逻辑。攻击者可以简单地修改javascript并伪造来自AV扫描仪站点的肯定响应。
为什么你害怕将可能不安全的文件下载到你的服务器?只需将其上传到您创建的特殊非公开可浏览目录(其他程序没有查找配置文件),扫描病毒,如果没有通过则删除它。如果您从未尝试执行它,并且它不会覆盖某些配置文件或内核文件或其他内容,那么您可能已经做得足够了。