我的任务是在审核失败后为应用程序增加安全性。问题之一是文件上传不受限制。
我已经在JavaScript中设置了允许的文件类型,并且正确禁止用户上传.exe文件类型
$('#up_ItemImg').fineUploader({
button: $('#up_ItemImg'),
uploaderType: 'basic',
request: {
endpoint: '/Admin/_customer/CustomerWS.ashx?method=SaveImage&customerID=' + customerID
},
validation: {
allowedExtensions: ['jpeg', 'jpg', 'png', 'bmp', 'gif', 'tiff'],
sizeLimit: 5242880 // 5 MB = 1024 * 1024 * 5 bytes
},
}).on('complete', function (event, id, fileName, responseJSON) {
if (responseJSON.success) {
$("#imgCustomerLogo").attr("src", responseJSON.data);
}
}).on('error', function (id, name, errorReason, errorReason2) {
if (errorReason2 == 'Upload failure reason unknown') {
return;
}
if (errorReason2.indexOf('XHR returned response code') == 0) {
return;
}
alert(errorReason2);
});
问题出现了,如果您使用诸如fiddler之类的东西并修改该请求,则将.jpg更改为.exe并重新执行成功的请求。
老实说,我有点儿不在意了,我将如何阻止此类事情的发生?