【问题标题】:Prevent large requests in NodeJS with Express使用 Express 防止 NodeJS 中的大型请求
【发布时间】:2016-01-23 23:58:41
【问题描述】:

我想阻止任何(或特定)大于设置大小的请求。

示例:1GB POST 请求。限制 - 5MB。上传开始,一旦达到 5MB,服务器立即刷新内存,撤回请求并返回错误。

有什么好的机制可以做到吗?

编辑:我使用多部分请求。

重复How to limit upload file size in express.js

【问题讨论】:

标签: node.js express


【解决方案1】:

您可以使用正文解析器:

var bParser = require('body-parser');

app.use(bParser.json({limit: '5mb'}));
app.use(bParser.urlencoded({limit: '5mb'}));

文档:https://www.npmjs.com/package/body-parser#limit

【讨论】:

  • 刚刚编辑了我的问题。这个解析器说“这不能处理多部分的主体,因为它们复杂且通常很大。”
  • 有没有什么简单的方法可以不用busboy等繁重的模块?
  • 您不能在 onRequest 事件中检查 request.headers.content-length 值吗?
  • 在请求正文数据之后你到底在做什么?
  • 好吧,你在做什么真的很重要,例如,如果你用客户端打开一个流并按块读取数据,你可以在达到限制时停止该过程 - 我是并不是真的告诉你这样做,我只是说自定义修改通常依赖于特定的实现。
猜你喜欢
  • 2018-10-05
  • 2018-06-10
  • 2013-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-12
  • 2013-04-03
相关资源
最近更新 更多