sli*_*s55 8 javascript php antivirus malware
我想在文件上传到服务器之前扫描文件是否有病毒和恶意软件。例如,一旦用户上传文件,应该有一个扫描程序来检测是否存在病毒或恶意软件并立即拒绝它。无论如何,在将文件上传到服务器之前是否要对其进行扫描?就像使用 Javascript 或任何软件开发工具一样。
谢谢
嗯,这是可以做到的。例如,您可以在浏览器中使用 javascript 仲裁内容,然后选择仅在内容安全的情况下将表单提交到您的服务器。
这是包含示例代码以及执行此操作的所有内容的演练:https ://docs.scanii.com/articles/client-side-content- Arbitration.html
它使用 scanii.com 进行内容分析,但您可以遵循完全相同的流程,只需将 scanii.com 替换为代理您已使用的任何防病毒软件的 EC2 实例即可。
这个三足仲裁系统的一个非常重要的部分是,您必须在服务器上验证仲裁的真实性,以防止有人只是搞乱客户端的 JavaScript 并绕过整个事情。您可以在此处的示例代码中看到该逻辑: https: //github.com/uvasoftware/scanii-token-sample/blob/master/app.js#L56
本质上,当表单/文件最终发布时,您需要调用已处理的服务(在上面的示例中为 scanii.com),以确保文件确实被分析并被认为是安全的。
这听起来比实际情况更复杂,我们已经有很多客户这样做了,而且一旦设置就非常好,因为您将大部分工作转移到浏览器上,并且您的服务器仍然没有不良内容。
JavaScript 在某人的浏览器中运行。这意味着什么?
它的意思是:
证明它是可以篡改的,不可信任的。
当您上传文件时,您可以通过 HTTP 协议进行上传。这意味着 JavaScript 到目前为止已经完成,它发送到服务器的所有数据对用户都是可见的,并且用户可以更改它。
因此,如果存在JS上传过滤器,它本质上是不安全的,这就是为什么没有JS“防病毒扫描程序”的原因。
文件上传后,您可以在服务器上查看该文件。