1
0
mirror of https://git.teknik.io/Teknikode/Teknik.git synced 2023-08-02 14:16:22 +02:00

Added restricted content types parameter for uploads

This commit is contained in:
Uncled1023 2017-12-20 11:08:34 -08:00
parent 1fe63a06bd
commit e6589638bd
3 changed files with 25 additions and 4 deletions

View File

@ -87,6 +87,15 @@ namespace Teknik.Areas.API.Controllers
} }
} }
// Check content type restrictions (Only for encrypting server side
if (model.encrypt || !string.IsNullOrEmpty(model.key))
{
if (Config.UploadConfig.RestrictedContentTypes.Contains(model.contentType))
{
return Json(new { error = new { message = "File Type Not Allowed" } });
}
}
// Initialize the key size and block size if empty // Initialize the key size and block size if empty
if (model.keySize <= 0) if (model.keySize <= 0)
model.keySize = Config.UploadConfig.KeySize; model.keySize = Config.UploadConfig.KeySize;

View File

@ -1,4 +1,4 @@
using nClam; using nClam;
using Piwik.Tracker; using Piwik.Tracker;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -84,6 +84,15 @@ namespace Teknik.Areas.Upload.Controllers
} }
} }
// Check content type restrictions (Only for encrypting server side
if (encrypt)
{
if (Config.UploadConfig.RestrictedContentTypes.Contains(fileType))
{
return Json(new { error = new { message = "File Type Not Allowed" } });
}
}
using (TeknikEntities db = new TeknikEntities()) using (TeknikEntities db = new TeknikEntities())
{ {
Models.Upload upload = Uploader.SaveFile(db, Config, data.InputStream, fileType, contentLength, encrypt, fileExt, iv, null, keySize, blockSize); Models.Upload upload = Uploader.SaveFile(db, Config, data.InputStream, fileType, contentLength, encrypt, fileExt, iv, null, keySize, blockSize);

View File

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@ -31,6 +31,8 @@ namespace Teknik.Configuration
public bool VirusScanEnable { get; set; } public bool VirusScanEnable { get; set; }
public string ClamServer { get; set; } public string ClamServer { get; set; }
public int ClamPort { get; set; } public int ClamPort { get; set; }
// Content Type Restrictions
public List<string> RestrictedContentTypes { get; set; }
public UploadConfig() public UploadConfig()
{ {
@ -55,6 +57,7 @@ namespace Teknik.Configuration
VirusScanEnable = false; VirusScanEnable = false;
ClamServer = "localhost"; ClamServer = "localhost";
ClamPort = 3310; ClamPort = 3310;
RestrictedContentTypes = new List<string>();
} }
} }
} }