节点JS / Hapi图片上传和安全

像许多networking服务一样,我们需要获取访问者的个人资料图片。 这是通过一个简单的hapi上传脚本完成的。

我们现在想知道哪些最佳做法可以防止我们获得可能包含脚本的恶意图像,这些图像可以直接或通过漏洞执行。

什么是最好的安全过程? 调整图像大小? 但是可用的几种格式呢? 使用两个不同的库,将所有内容都转换为PNG格式的两步传递?

有没有为此目的而编写的npm?

build议需要。

你可以访问工作代码在github https://github.com/pandeysoni/Hapi-file-upload-download

/* * upload file */ exports.uploadFile = { payload: { maxBytes: 209715200, output: 'stream', parse: false }, handler: function(requset, reply) { var form = new multiparty.Form(); form.parse(requset.payload, function(err, fields, files) { if (err) return reply(err); else upload(files, reply); }); } }; /* * upload file function */ var upload = function(files, reply) { fs.readFile(files.file[0].path, function(err, data) { checkFileExist(); fs.writeFile(Config.MixInsideFolder + files.file[0].originalFilename, data, function(err) { if (err) return reply(err); else return reply('File uploaded to: ' + Config.MixInsideFolder + files.file[0].originalFilename); }); }); };