首页 > 解决方案 > 在我的整个 express 应用上使用 Multer 中间件有什么缺点吗?

问题描述

在我的 Express 应用程序的早期,我将 Multer 中间件定义为这样使用:

const multer = require('multer');
app.post('*', multer({ storage: multer.memoryStorage() }).any());

我正在使用 multer 进行文件上传。

我对我的应用程序的大部分发布请求都不需要任何文件上传,因此中间件大部分时间都是无用的。

像这样使用它有什么缺点或危险,还是有什么原因我应该只应用中间件来发布需要上传文件的请求?

标签: node.jsexpress

解决方案


我建议您不要将 multer 用作整个应用程序的中间件。使用 multer 作为中间件只会对您的应用程序构成安全威胁。

例如。你有两条路线:

一世。/register(需要上传图片作为头像)

ii. /login(不需要任何文件上传)

任何恶意用户都可以轻松使用 /login 将恶意文件上传到应用程序的目标文件夹中,并可能构成巨大威胁。

仅在要进行文件上传的路由中使用 multer 中间件有助于降低将不需要的和/或恶意文件上传到服务器的风险。

希望这可以帮助。


推荐阅读