javascript - Expressjs 中附加到请求的对象可以被篡改吗?

标签 javascript node.js security express

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

最佳答案

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

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

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

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

关于javascript - Expressjs 中附加到请求的对象可以被篡改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31018285/

相关文章:

javascript - InDesign 扩展脚本 : How do I transform the entire selection?

node.js - mongoose:mongodb update with multi true 不更新所有文档

javascript - Node - 如何将类型化数组写入具有指定字节顺序的二进制文件

javascript - JSON.parse 后嵌套 json 数据成为 [Object]

c - 在命令行中隐藏密码字段

Javascript跳过星期六和星期日在一个月内循环

javascript - 无法将 ThreeJS 网格添加到范围外的场景 - THREE.Object3D.add : object not an instance

security - 相互 SSL - 多少身份验证就足够了?

web-services - 使用 CXF 通过 SSL 保护 Web 服务通信

javascript - 胜利: Animating Circular Progress Bar - not rendering chart