Funcion Terminada
This commit is contained in:
@@ -2,5 +2,6 @@ var express = require('express')
|
||||
var app = express()
|
||||
|
||||
app.use(require('./registro'));
|
||||
app.use(require('./login'));
|
||||
|
||||
module.exports = app;
|
||||
+70
-47
@@ -1,3 +1,15 @@
|
||||
/**
|
||||
* * @author Daniel Adrián Ramírez George <daniel.adrian.ramirez.george@gmail.com> <daniel.george@acatlan.unam.mx>
|
||||
// Para usar esta funcion es necesario cambiar las rutas ce coneccion a la base de datos que tenga tu proyecto
|
||||
// ademas de tener instalas las dependencias como express y bcrypt, asi como cambiar los campos de consulta a su
|
||||
// respectiva base de datos
|
||||
|
||||
// Para instalar bcrypt: npm install bcrypt
|
||||
// Para instalar express: npm install express
|
||||
|
||||
*/
|
||||
|
||||
|
||||
const connection = require('../conf/connection');
|
||||
const express = require('express');
|
||||
const bcrypt = require('bcrypt');
|
||||
@@ -12,67 +24,78 @@ function query(consulta) {
|
||||
})
|
||||
}
|
||||
|
||||
//Esta funcion depura las cadenas quitando los caracteres que no sean necesarios o peligrosos en las consultas SQL
|
||||
//Agrege o quiete los caracteres usados
|
||||
function depurado(cadena) {
|
||||
if (cadena != null){
|
||||
cadena = cadena.replace(/;/g, "");
|
||||
cadena = cadena.replace(/=/g, "");
|
||||
cadena = cadena.replace(/:/g, "");
|
||||
return cadena.replace(/'/g, "''");
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
app.post('/loggin', async(req, res) => {
|
||||
|
||||
var aux = req.body.usuario;
|
||||
aux = aux.toLowerCase();
|
||||
let usuario = req.body.usuario;
|
||||
var password = req.body.password;
|
||||
var pass = await bcrypt.hash(password, 10);
|
||||
console.log(usuario, " ", pass, " ", password);
|
||||
var text = true;
|
||||
for (let i = 0; i < aux.length; i++) {
|
||||
if ((aux[i] < 'a' || aux[i] > 'z') && aux[i] != '_') {
|
||||
text = false;
|
||||
break;
|
||||
let usuario, password, password_consulta, pass, exite, comparar, id;
|
||||
|
||||
try{
|
||||
usuario = depurado(req.body.usuario);
|
||||
password = depurado(req.body.password);
|
||||
|
||||
//Esta condicional se definio para no tener cadenas de entrada mas grandes que el campo a consultar
|
||||
if(usuario.length > 90 || password.length > 90 ){
|
||||
res.status(400).json({ err: true, mjs: 'Correo o contraseña invalidos' });
|
||||
return;
|
||||
}
|
||||
|
||||
pass = await bcrypt.hash(password, 10);
|
||||
console.log(usuario, " ", pass, " ", password);
|
||||
}
|
||||
|
||||
let caadena = `select * from usuario;`
|
||||
let resuesta = await query(caadena)
|
||||
console.log("esta es la respuesta", resuesta);
|
||||
|
||||
|
||||
if (text == false) {
|
||||
res.status(400).json({ err: true, msj: "Correo o contraseña invalidos" });
|
||||
false;
|
||||
catch(error){
|
||||
console.log(` Ocurrio un errror 1 msj: ${error}`);
|
||||
res.status(400).json({ err: true, mjs: 'Datos no validos' });
|
||||
return;
|
||||
}
|
||||
|
||||
let password_consulta;
|
||||
|
||||
try {
|
||||
|
||||
let select = `select * from usuario where usuario="${usuario}";`;
|
||||
//Modifique la tabla a consultar del usuario y las campos que regresa
|
||||
let select = `select * from Admin where usuario='${usuario}';`;
|
||||
password_consulta = await query(select);
|
||||
if ( password_consulta.length == 1) {
|
||||
|
||||
//modifique el nombre de los campos segun essten definidos en su base de datos
|
||||
comparar = password_consulta[0].password;
|
||||
id = password_consulta[0].idUsuario;
|
||||
}
|
||||
else{
|
||||
console.log(`No se encontro el usuario`);
|
||||
res.status(400).json({ err: true, mjs: 'Correo o contraseña invalidos' });
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
password_consulta = query(select);
|
||||
} catch (error) {
|
||||
console.log(` ocurrio un error 2 msj: ${error}`);
|
||||
res.status(400).json({ error: true, msj: "Error en la consulta en del usuario" });
|
||||
return;
|
||||
}
|
||||
let exite;
|
||||
let comparar;
|
||||
let id;
|
||||
await password_consulta.then(function(v) {
|
||||
existe = v.length;
|
||||
console.log(existe);
|
||||
if (existe == 1) {
|
||||
comparar = v[0].password
|
||||
id = v[0].id_usuario;
|
||||
}
|
||||
})
|
||||
if (existe == 0) {
|
||||
res.status(400).json({ err: true, mjs: 'Correo o contraseña invalidos' });
|
||||
return;
|
||||
}
|
||||
// var pass = await bcrypt.hash(password, 10);
|
||||
//console.log(pass);
|
||||
console.log(comparar);
|
||||
|
||||
try{
|
||||
|
||||
let correcto = bcrypt.compareSync(password, comparar);
|
||||
if (correcto == true) {
|
||||
res.status(200).json({ err: false, mjs: `Bienvenido`, id_usuario: id });
|
||||
return;
|
||||
} else {
|
||||
let correcto = bcrypt.compareSync(password, comparar);
|
||||
if (correcto == true) {
|
||||
res.status(200).json({ err: false, mjs: `Bienvenido`, id_usuario: id });
|
||||
return;
|
||||
} else {
|
||||
res.status(400).json({ err: true, mjs: 'Correo o contraseña invalidos' });
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch(error){
|
||||
res.status(400).json({ err: true, mjs: 'Correo o contraseña invalidos' });
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user