上传时如何扫描和删除Maclious文件?

时间:2019-05-30 13:29:41

标签: node.js express

在此时上传恶意文件时,需要扫描并删除该文件。 NPM中有什么特殊包装吗?您能在任何一项感谢上帮助我吗?

1 个答案:

答案 0 :(得分:0)

以下两个步骤是基本步骤。

  1. 在前端,只允许特定文件扩展名(如(.pdf,.png等)),且具有大小限制。 (不要忘记可以操纵前端代码)。

2。您还需要检查后端的文件扩展名和大小(如果您使用的是节点,则可以使用multer来实现)。

我们在后端还能做什么?

  1. 如果我们仅依靠检查扩展名就没有帮助。 (任何人都可以将sample.exe的名称修改为sample.jpg并上传)。

例如,如果您除了检查文件扩展名之外,还检查文件是否在后端上传了图片,您也可以按照以下方法进行操作。

PNG文件的前八个字节始终包含以下(十进制)值:137 80 78 71 13 10 26 10

如果您要检查上传的文件是否为png,则上述条件将起作用。不仅如此,如果您想检查是否正确上传了文件,还可以按照上述方法进行操作。 (对于.pdf,.doc,可能会有一些规则)

  1. 不要将上传的文件保存在后端代码存储库中。将它们存储在其他工作区中。 (可选)

以下链接可能会有帮助。

云存储

除了将文件存储在本地服务器中之外,您还可以将上传的文件保存在Amazon S3存储桶之类的云中。每次将任何文件上传到该s3存储桶后,您都可以使用lambdas(亚马逊上的自动文件扫描仪)触发扫描仪。

除了亚马逊以外,您还可以使用Google驱动器上传文件(不是最佳选择)。但是当有人下载​​上传的文件时,谷歌会自动扫描病毒。

amazon的s3存储桶文件的扫描链接::

amazon s3 bucket files scan SO

amazon s3 bucket files reddit

s3 files scanning using lambda & clamav

对于本地服务器::

check file types plugin

clam scan npm

check image content without extension SO 1

check image content without extensions SO 2