前端防病毒扫描文件上载

问题描述 投票:0回答:3

我想在将文件上传到服务器之前扫描文件中的病毒和恶意软件。例如,一旦用户上传文件,就应该有扫描程序来检测是否存在病毒或恶意软件并立即拒绝它。无论如何,在将文件上传到服务器之前扫描文件?比如使用Javascript或任何软件开发人员工具。

谢谢

javascript php malware antivirus
3个回答
1
投票

无论如何在将文件上传到服务器之前扫描文件? - 答案是否定的,您无法控制最终用户的操作系统

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

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

  1. 仅允许应用程序所需的文件扩展名
  2. 如果文件扩展名有效,则检查文件的TYPE for.e.g.申请/文本,申请/ csv等
  3. 上传应通过安全通道完成
  4. 您可以在托管服务中获得防病毒/恶意软件检测程序
  5. 对移动新文件的文件夹的正确权限

0
投票

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

它的意思是:

  • 该人完全控制他们的浏览器正在执行什么
  • 此人可以阅读文本并更改JS病毒扫描程序

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

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

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

上传后,您可以在服务器上找到该文件。


0
投票

嗯,这可以做到。例如,您可以在浏览器中使用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),以确保文件确实已被分析并被视为安全。

这听起来比实际更复杂,我们有很多客户已经这样做了,并且一旦安装就很棒,因为你将大部分工作卸载到浏览器,而你的服务器仍然是免费的内容。

© www.soinside.com 2019 - 2024. All rights reserved.