在Express应用程序的早期,我定义了像这样使用的Multer中间件:
const multer = require('multer');
app.post('*', multer({ storage: multer.memoryStorage() }).any());
我正在使用multer上传文件。
我对应用程序的大部分发布请求都不需要上传任何文件,因此中间件在大多数情况下几乎没有用。
像这样使用它是否有任何缺点或危险,还是有某些原因为什么我应该仅将中间件应用于发布需要文件上传的请求?
答案 0 :(得分:0)
我建议您不要将multer用作整个应用程序的中间件。 使用multer作为中间件只会对您的应用造成安全威胁。
例如。您有两条路线:
i。 / register(需要将头像上传为头像)
ii。 / login(不需要上传任何文件)
任何恶意用户都可以轻松地使用/ login将恶意文件上传到应用程序中的目标文件夹中,并且有可能构成巨大威胁。
仅在您要进行文件上传的路由中使用multer中间件,才有助于降低将不需要的文件和/或恶意文件上传到服务器的风险。
希望这会有所帮助。