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
因此仍是不安全瀏覽器