的NodeJS Neo4j的不访问PARAM req.params.x但接受任何硬编码值
我试图访问存储在Neo4j的用户的帖子,我只是用提出API以获取端点需要一个参数(UUID)测试它。
这是该函数:
db.query('MATCH (user:user {uuid: $uuid})-[:posted]->(posts:post) RETURN posts ORDER BY posts.date', {uuid: req.params.uuid}, (err, result) => {
if (err) {
console.error(err)
res.json(err)
}
console.log(req.params.uuid) //logs the correct entered param
res.send(result)
})
这将返回一个空的结果。但是,如果我硬编码的UUID PARAM提供其返回结果(知道已经有3个员额由以uuid 123用户发布),如下所示:
db.query('MATCH (user:user {uuid: $uuid})-[:posted]->(posts:post) RETURN posts ORDER BY posts.date', {uuid: 123}, (err, result) => {
if (err) {
console.error(err)
res.json(err)
}
console.log(req.params.uuid)
res.send(result)
})
3个职位返回。为什么不是req.params.id
认可(至少这是我的想法)
更新:我使用MATCH (user:user {uuid: '+ req.params.uuid + '})
和它的工作,但不会这使它容易受到注射?
从这里,我想说uuid
有望成为一个数字,req.params.uuid
是一个字符串。
当你硬编码或连接它,它显示的号码是查询;当你把它作为一个查询参数,它会如果它来自一个HTML形式把它的类型是......可能是一个字符串。
尝试parseInt
,对于初学者!
的NodeJS Neo4j的不访问PARAM req.params.x但接受任何硬编码值
我试图访问存储在Neo4j的用户的帖子,我只是用提出API以获取端点需要一个参数(UUID)测试它。
这是该函数:
db.query('MATCH (user:user {uuid: $uuid})-[:posted]->(posts:post) RETURN posts ORDER BY posts.date', {uuid: req.params.uuid}, (err, result) => {
if (err) {
console.error(err)
res.json(err)
}
console.log(req.params.uuid) //logs the correct entered param
res.send(result)
})
这将返回一个空的结果。但是,如果我硬编码的UUID PARAM提供其返回结果(知道已经有3个员额由以uuid 123用户发布),如下所示:
db.query('MATCH (user:user {uuid: $uuid})-[:posted]->(posts:post) RETURN posts ORDER BY posts.date', {uuid: 123}, (err, result) => {
if (err) {
console.error(err)
res.json(err)
}
console.log(req.params.uuid)
res.send(result)
})
3个职位返回。为什么不是req.params.id
认可(至少这是我的想法)
更新:我使用MATCH (user:user {uuid: '+ req.params.uuid + '})
和它的工作,但不会这使它容易受到注射?
从这里,我想说uuid
有望成为一个数字,req.params.uuid
是一个字符串。
当你硬编码或连接它,它显示的号码是查询;当你把它作为一个查询参数,它会如果它来自一个HTML形式把它的类型是......可能是一个字符串。
尝试parseInt
,对于初学者!