前端-接入层上传问题
Posted ygjzs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端-接入层上传问题相关的知识,希望对你有一定的参考价值。
接入层上传
上传问题
- 上传文件
- 再次访问上传的文件
- 上传的文件被当成程序解析
上传问题防御
- 限制上传后缀
let ext = path.extname(file.name);
if (ext === ".js") {
throw new Error("不要上传坏文件");
}
但是可以通过改后缀名的方式,达到攻击的目的
- 文件类型检查
if (file.type != "image/png") {
throw new Error("只允许PNG");
}
类型是从浏览器读取的,可以不经过浏览器上传文件,依然不安全
- 文件内容检查
var fileBuffer = fs.readerFileSync(file.path);
fileBuffer[0] == 0x5b;
但是可以通过在文件头部写入对应的内容
GIF89a
<?php
所以还是不安全
- 程序输出
- 比较保险,但是对性能可能会有很大的影响
- 权限控制-可写可执行互斥
- 这还少一个原则,是安全的一个最低保障
以上是关于前端-接入层上传问题的主要内容,如果未能解决你的问题,请参考以下文章