【发布时间】:2019-06-17 15:32:05
【问题描述】:
在我的路由中,我收到了请求:
router.get('/getOne', auth(), mapController.getOne);
我在 url 中传递 id 参数并在 mapController 中使用 mongoose 进行 mongo 查询,如下所示:
exports.getOne = async(req, res, next) => {
try {
const mapData = await Map.findById(req.query.id);
res.json(mapData);
} catch (e) {
return next(e);
}
};
以前我在使用 PHP 时会转义参数以避免 sql 注入。在这里,我没有做任何类似的事情,我只是将req.query.id 直接传递给findById 方法。在安全方面,上述代码是否一切正常?
【问题讨论】:
标签: javascript node.js security mongoose code-injection