public static function login($user, $passwd) { try { $con = DBConexion::getInstance(); $usuario_bd = $con->executeQuery('SELECT * FROM usuario WHERE usuario=?;', array($user)); } catch (\Exception $e) { throw $e; } if (isset($usuario_bd) && count($usuario_bd) > 0) { $usuario_bd = $usuario_bd[0]; if (password_verify($user . $passwd, $usuario_bd->contrasena)) { self::$loggedIn = true; self::$arrUsuario['auth_user'] = $user; Session::regenerateSessionId(); $token = sha1($_SERVER['HTTP_USER_AGENT'] . $user . session_id()); Session::setValue('session_id', session_id()); Session::setValue('token', $token); //Por defecto la cookie se guarda una hora despues de la hora actual self::setCookie('session_id', session_id()); //Por defecto la cookie se guarda una hora despues de la hora actual self::setCookie('token', $token); //Salvamos los datos de la sesion en bd $query = vsprintf("INSERT INTO sesion(session_id, session_data, expire_date) VALUES('%s', '%s', '%s');", array(session_id(), $token, date("Y-m-d H:i:s", self::$expiration))); $res = $con->executeUpdate(array($query)); return true; } else { Session::setValue('loginErrors', "Usuario o contrase&ntilda;a incorrectos"); self::$arrUsuario = array(); self::$loggedIn = false; return false; } } return false; }