2017-05-05 8 views
0

reqオブジェクトをHTTPリクエスト内で操作できますか?したがって、リクエストがreq.tokenの値を設定する可能性はありますか? req.query,req.bodyなどさまざまなオブジェクトプロパティを自由に外部から変更できますが、req.tokenのような新しいプロパティを追加できますか、このコード例は安全ですか?要求内でreqオブジェクトを操作できます

var auth = function (req, res, next) { 
    if (isValid()) { 
     req.token = getToken(); 
     return next(); 
    } 
} 

app.get('/foo', auth, function(req, res) { 
    if (req.token) { 
     // valid request 
    } else { 
     // invalid request 
    } 
}); 
+1

これは可能ですが、req.localsを使用することをお勧めします。 http://stackoverflow.com/questions/33451053/req-locals-vs-res-locals-vs-res-data-vs-req-data-vs-app-locals-in-express-mi –

+1

可能な複製[req.local vs. res.local vs. res.data vs. req.dataとExpressミドルウェアのapp.local](http://stackoverflow.com/questions/33451053/req-locals-vs-res-locals) -vs-res-data-vs-req-data-vs-app-locals-in-express-mi) –

答えて

1

はい、それはあなたが特別な意味(これらの非網羅的なリストがhere見つけることができます)プロパティを上書きしません提供、安全です。

これは一般的に使用されている技術で、the Express documentationにも表示されています。

関連する問題