Cita:
Iniciado por hhs Ok, ahora para los mismo datos conocidos intenta hacer el login utilizando la base de datos y manda los resultados
Correcto.
Creé desde PHPMyAdmin un nuevo "usuario" donde el mail era "
[email protected]" y la contraseña era "
minuevapassword" pero encriptada.
De vuelta a la web, ingeresé ese mail y esa contraseña (sin encriptar), y me lo dio por válido.
Pero ahora he añadido comprobaciones de mail y password que NO me permiten ingresar si la contraseña no es la misma que en la BD (encriptada).
Código PHP:
Ver original//Conecta a la BD y selecciona mail y contraseña
$consulta = "SELECT * FROM usuarios WHERE email = '$email' AND password = '$pass' ";
$passwordDB = crypt($pass); if($datos['email'] == $email and password_verify($pass, $passwordDB)){
// Se inicia la sesión
$_SESSION['usuario'] = $datos['email'];
$_SESSION['estado'] = 'Autenticado';
$mensaje_login = "Estás conectado/a como <strong>".$email."</strong> <br><br> <a href='http://www.ejemplo.com/BD/inicio'>Ir al inicio</a>";
$stm = $connection->prepare("UPDATE usuarios SET ip_ultima='$ip' WHERE email='$email' ");
$stm->execute();
} else if ($datos['email'] != $email || $datos['email'] == "" || password_verify($pass, $passwordDB) != $passwordDB )
{
$mensaje_login = "El mail o la contraseña son incorrectos. <br> <a href='javascript:history.back()'>Volver y corregir</a>";
};
Si en la consulta lo dejo así:
Código PHP:
Ver original$consulta = "SELECT * FROM usuarios WHERE email = '$email' ";
Literalmente te deja entrar sin filtros hayas escrito o no un mail y/o una contraseña.