前端防病毒扫描文件上传

时间:2019-04-09 11:05:57

标签: javascript php malware antivirus

我想在文件上传到服务器之前对其进行病毒和恶意软件扫描。例如,用户上载文件后,应使用扫描仪来检测是否存在病毒或恶意软件,并立即将其拒绝。无论如何,在将文件上传到服务器之前是否要对其进行扫描?例如使用Javascript或任何软件开发人员工具。

谢谢

3 个答案:

答案 0 :(得分:1)

在将文件上传到服务器之前是否仍要对其进行扫描?-答案为否,您无法控制最终用户的操作系统

添加到@Mjh,您可以在文件上传后在服务器上对其进行扫描

在上传之前,您可以运行一些验证,

  1. 仅允许应用程序需要的文件扩展名
  2. 如果文件扩展名有效,则检查文件的类型,例如应用程序/文本,应用程序/ csv等。
  3. 上传应通过安全通道完成
  4. 您可以在托管服务中获得防病毒/恶意软件检测器
  5. 对移动新文件的文件夹的适当权限

答案 1 :(得分:0)

JavaScript在某人的浏览器中运行。是什么意思?

这意味着:

  • 该人可以完全控制自己的浏览器执行的操作
  • 该人可以阅读文本并更改JS病毒扫描程序

证明它可以被篡改并且不能被信任。

上载文件时,可以通过HTTP协议进行操作。这意味着JavaScript一直完成到这一点为止,并且发送到服务器的所有数据对于用户都是可见的,用户可以对其进行更改。

因此,如果存在JS上载过滤器,则其本质上是不安全的,这就是为什么没有JS“防病毒扫描程序”的原因。

文件上传后,可以在服务器上使用。

答案 2 :(得分:0)

好吧,这可以做到。例如,您可以在浏览器中使用javascript仲裁内容,然后选择仅在内容安全的情况下才将表单提交到服务器。

这是一个示例代码的演练以及所有要做的事情:https://docs.scanii.com/articles/client-side-content-arbitration.html

这使用scanii.com进行内容分析,但是您可以遵循完全相同的过程,只需将EC2实例替换为scanii.com,即可代理已使用的任何反病毒软件。

此三足式仲裁系统的一个非常重要的部分是,您必须验证服务器上仲裁的真实性,以防止有人仅仅在客户端弄乱JavaScript并绕过整个过程。您可以在以下示例代码中看到该逻辑:https://github.com/uvasoftware/scanii-token-sample/blob/master/app.js#L56

本质上,当表单/文件最终发布时,您需要调出已处理的服务(在上面的示例中为scanii.com),以确保确实对文件进行了分析并认为是安全的。

这听起来比实际要复杂得多,我们已经有很多客户在做这件事,并且一旦安装就很棒了,因为您将大部分工作都转移到了浏览器中,并且服务器中没有不良内容。

相关问题