用户是否可以添加/更改“请求”对象的属性(并导致安全漏洞)?

我对Node.js很陌生,写了一些类似的代码

request.validToken = true;

一旦我确认请求中的令牌有效。

如果validToken已经是真的,那么我会缩短检查时间。 但是我想知道的是,请求是否可以被攻击者编辑,使这个字段在原始请求中存在,因此允许他们绕过安全检查?

如果是的话,最好的做法是什么?

不,客户端无法访问节点中的request对象。

唯一的机会是,如果你使用来自客户端的数据来closuresrequest对象的设置属性,如:

 Object.keys(request.body).forEach(function(k) { request[k] = request.body[k]; }); 

只有这样才能有人发布一个表单体,可以根据request覆盖/设置属性。