* arrojar err; // Relanzar errores que no son de MySQL ^

TypeError: no se puede leer la propiedad 'longitud' de indefinido *

Db.js:

function validateUser(username, password) {
  var sql = "SELECT * FROM users WHERE username = ? AND password = ?";
  var values = [[username, password]];
  con.query(sql,[values], function(err, results) {
    if (results.length > 0){
      return true;
    }
    else return false;

  })
}

Server.js:

app.post('/auth', function(req,res) {
  console.log('form submitted');
  if(db.validateUser(req.body.username,req.body.password)){
    console.log('login successful');
  } 
  res.status(200);
  res.redirect(URL);
});
1
jpj 30 ago. 2020 a las 02:18

1 respuesta

La mejor respuesta

Primero, no guarde las contraseñas como texto sin formato.

Por ejemplo, https://cdnjs.com/libraries/jsSHA

Para su código:

function validateUser(username, password) {
  var sql = "SELECT * FROM users WHERE username = ? AND password = ?";
  var values = [username, password];
  con.query(sql,values, function(err, results) {
    if (results.length > 0){
      return true;
    }
    else return false;

  })
}
1
nbk 29 ago. 2020 a las 23:36