附加到expressjs中的请求的对象是否可以被篡改?

时间:2015-06-24 05:29:13

标签: javascript node.js security express

在express.js中,我们经常将对象附加到中间件中的req对象,例如req.myObject。什么阻止用户发送包含req.myObject的http请求已设置为某个值?例如,我可以使用req.myObject作为身份验证的一部分。用户在发送请求时是否应该设置req.myObject = true?如果在某些路由上设置了req.myObject而在其他路由上设置了req.myObject,则可能会出现问题,但检查req.myObject的中间件会在路由中重复使用。

1 个答案:

答案 0 :(得分:1)

req是Express收到请求时创建的对象。它不是直接从客户端传递到服务器的东西,事实上它甚至不能被客户端使用。

客户端只能以某种有限的方式将信息中继到服务器--GET查询,POST表单数据或路由路径,由Express req附加到req.query对象,{{1分别是{}和req.body

附加到req.params对象的任何其他内容都超出了客户端的范围,至少是直接的。

相关问题:Node.js request object documentation?