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

Can objects attached to requests in expressjs be tampered with?

本文关键字:是否 对象 请求 expressjs      更新时间:2023-09-26

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

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

客户端只能以某些有限的方式将信息中继到服务器——GET查询、POST表单数据或路由路径,这些路径通过Express分别作为req.queryreq.bodyreq.params附加到req对象。

附加到req对象的任何其他内容都不在客户端的范围内,至少是直接的。

相关问题:Node.js请求对象文档?