Merge pull request #22 from Onestay/onestay

added array with blocked file extensions
This commit is contained in:
Kanacchi 2017-03-28 00:00:08 +02:00 committed by GitHub
commit 3e38e138ca
2 changed files with 15 additions and 2 deletions

View File

@ -4,7 +4,6 @@ module.exports = {
If set to true the user will need to specify the auto-generated token If set to true the user will need to specify the auto-generated token
on each API call, meaning random strangers wont be able to use the service on each API call, meaning random strangers wont be able to use the service
unless they have the token loli-safe provides you with. unless they have the token loli-safe provides you with.
If it's set to false, then upload will be public for anyone to use. If it's set to false, then upload will be public for anyone to use.
*/ */
private: true, private: true,
@ -34,6 +33,14 @@ module.exports = {
// Pages to process for the frontend // Pages to process for the frontend
pages: ['home', 'auth', 'dashboard', 'faq'], pages: ['home', 'auth', 'dashboard', 'faq'],
// Add file extensions here which should be blocked
blockedExtensions: [
'.exe',
'.bat',
'.cmd',
'.msi'
],
// Uploads config // Uploads config
uploads: { uploads: {

View File

@ -20,7 +20,13 @@ const storage = multer.diskStorage({
const upload = multer({ const upload = multer({
storage: storage, storage: storage,
limits: { fileSize: config.uploads.maxSize } limits: { fileSize: config.uploads.maxSize },
fileFilter: function(req, file, cb) {
if (config.blockedExtensions.some((extension) => { return path.extname(file.originalname) === extension; })) {
return cb('This file extension is not allowed');
}
return cb(null, true);
}
}).array('files[]') }).array('files[]')
uploadsController.upload = function(req, res, next) { uploadsController.upload = function(req, res, next) {