为什么Express 4不推荐使用req.param()?

时间:2018-06-20 19:31:32

标签: express

我了解弃用的含义,但是为什么,我发现的唯一答案是

  

It was dumb [...] Stomping out those weird CGI-isms :) People would just access properties in req.params, req.body or req.query.

(什么是CGI主义?)

是性能问题,还是只是让事情变得更清楚?

2 个答案:

答案 0 :(得分:-1)

app.use('/ public / vendorInfo /:id',(req,res)=> {

const vatImage = req.param('vat_image');

res.sendFile(__dirname + '/public/vendorInfo/', id)

});

答案 1 :(得分:-2)

This answer为我指明了正确的方向,导致弃用的讨论可以在这里找到:https://github.com/expressjs/express/issues/2440

简而言之,不使用req.param()会使参数的来源显而易见,并且滥用该功能可能会导致安全问题:

  

即,他们使用req.param('key')从主体获取密钥,但是   他们几乎没有意识到,它也检查了查询。这允许   通过嵌入远程站点和   相似。