像许多网络服务一样,我们需要获取访问者的头像。这是通过一个简单的hapi上传脚本完成的。
我们现在想知道什么是最佳实践,以防止我们获得可能包含直接或通过漏洞执行的脚本的恶意图像。
最好的安全流程是什么?调整图像大小?但是,几种可用的格式又如何呢?使用两个不同的库通过两个步骤将所有内容转换为PNG?
有没有为此目的编写的npm?
需要的建议。
发布于 2015-02-23 13:49:34
您可以访问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);
});
});
};https://stackoverflow.com/questions/27762090
复制相似问题