let ext = path.extname(file.name); if (ext === ".js") { throw new Error("不要上传坏文件"); }
可是能够经过改后缀名的方式,达到攻击的目的javascript
if (file.type != "image/png") { throw new Error("只容许PNG"); }
类型是从浏览器读取的,能够不通过浏览器上传文件,依然不安全php
var fileBuffer = fs.readerFileSync(file.path); fileBuffer[0] == 0x5b;
可是能够经过在文件头部写入对应的内容java
GIF89a <?php
因此仍是不安全浏览器