【问题标题】:Nodejs req Json size limitNodejs req Json 大小限制
【发布时间】:2018-06-19 02:17:36
【问题描述】:

我有一个关于 nodeJS 中的 req 对象的一般性问题。假设我有一个代码通过 ajax post 方法将 json 格式的数据发送到我的服务器。考虑一种情况,用户更改我的客户端代码,通过调用特定链接将无限大的 json 文件发送到我的服务器,默认情况下该链接被设计为具有特定格式的有限 json 数据。在这种情况下,我想知道如何防止此类黑客攻击发生。

【问题讨论】:

  • 首先没有人会在没有身份验证的情况下在我这边发送数据。您还想查找跨域请求!
  • 只需添加一种身份验证方法,例如需要并在一段时间后过期的令牌

标签: javascript json node.js post request


【解决方案1】:

有几种方法:

  1. 添加身份验证
  2. 配置一个web服务器,就像Nginx有client_max_body_size
  3. 或者使用像body-parser 这样你可以设置的中间件:

    var express = require('express') var bodyParser = require('body-parser')

    var app = express() app.use(bodyParser.json({ limit: '5mb' }))

【讨论】:

  • 谢谢。我试图通过设置限制 1byte 并发送一个长字符串来测试这一点。仍然一切都通过了,并且无法得到关于大小的错误。 app.use(bodyParser.urlencoded({extended:false}),bodyParser.json({limit: '1b'}));
  • 有人知道为什么上述解决方案不起作用吗?
  • 你能告诉我不工作的完整代码吗?我的工作完美。多次查看body-parser' [npm package](https://github.com/expressjs/body-parser/tree/master/test) page to understand how it works. Make sure you do not initialize the body-parser'。
猜你喜欢
  • 1970-01-01
  • 2012-02-25
  • 2012-11-10
  • 1970-01-01
  • 1970-01-01
  • 2020-12-22
  • 1970-01-01
  • 2011-11-21
  • 2010-12-29
相关资源
最近更新 更多