在express.js中,我们经常将对象附加到中间件中的req对象,例如req.myObject。什么阻止用户发送包含req.myObject的http请求已设置为某个值?例如,我可以使用req.myObject作为身份验证的一部分。用户在发送请求时是否应该设置req.myObject = true?如果在某些路由上设置了req.myObject而在其他路由上设置了req.myObject,则可能会出现问题,但检查req.myObject的中间件会在路由中重复使用。
答案 0 :(得分:1)
req
是Express收到请求时创建的对象。它不是直接从客户端传递到服务器的东西,事实上它甚至不能被客户端使用。
客户端只能以某种有限的方式将信息中继到服务器--GET查询,POST表单数据或路由路径,由Express req
附加到req.query
对象,{{1分别是{}和req.body
。
附加到req.params
对象的任何其他内容都超出了客户端的范围,至少是直接的。