【发布时间】:2020-02-28 13:58:50
【问题描述】:
在我的 nodejs 应用程序中进行登录时遇到问题。当我进行身份验证时,即使我输入了错误的用户,我的页面 home 也会呈现:
这是我的身份验证代码:
app.post('/auth', urlencodedParser, function(req, res) {
var username = "'" + req.body.usernames + "'";
var password = "'" + req.body.passwords + "'";
var client = new Client(conString);
client.connect();
if (username && password) {
client.query('SELECT * FROM Utilisateur WHERE username = ? AND password = ?', [username, password],function(err, results) {
if (err) {
console.log('error running the authentication:', err);
}
results = JSON.parse("[{},{}]")
if (results.length > 0) {
req.session.loggedin = true
req.session.username = username
res.render('home')
}
});
}
});
【问题讨论】:
-
results = JSON.parse("[{},{}]")- 这就是问题所在。您忽略了查询结果并将一个包含两个空项的数组分配给 results 和 results.length 传递。 -
是的,我确实通过执行 if (results["rowCount"] > 0) 并删除 results = JSON.parse("[{} ,{}]")
标签: sql node.js phppgadmin