node.js - 安全图像文件上传

时间:2013-07-17 14:34:09

标签: node.js security file-upload sanitization

我们必须为node.js项目实现图像上传器。作为框架,我们使用express.js我们这样描述:http://howtonode.org/really-simple-file-uploads

但我们不确定如何保护此图片上传器。到目前为止我们所做的是:

  • 检查文件大小
  • 检查扩展名和标题
  • 重命名文件
  • 文件只能通过特殊路由访问,并且不在根文件夹中

这够了吗?我们对以下行感到不舒服:

    // CHECKING FOR FILESIZE, EXTENSION, HEADERS
    fs.readFile(req.files.displayImage.path, function (err, data) {
        ...
        ...
        ...
        // RENAMING FILE
        // SAVE FILE
        ...
        ...
        ...
    }

以这种方式读取图像是否省钱?我们担心,req.files.displayImage.path中可能存在恶意代码。我们需要添加更多支票还是我们的支票足够?如果我们使用所描述的代码,我们会向攻击者提供哪些攻击媒介?

感谢您的建议 Tschoartschi

1 个答案:

答案 0 :(得分:0)

如果您关注在评论中张贴的在客户端打开恶意映像的信息。尝试在沙盒iframe中打开第三方脚本和不受信任的文件,这将保护您的用户。