public function generateCaptcha($w = 350, $h = 60) { unlink(getcwd() . "/public/uploads/captcha.png"); Session::setValue('captcha', self::texto()); $captcha = \imagecreatetruecolor($w, $h); $colorFondo = \imagecolorallocate($captcha, 0, 0, 255); $colorTexto = \imagecolorallocate($captcha, 255, 255, 0); $colorLinea = \imagecolorallocate($captcha, 255, 105, 180); \imageline($captcha, 120, 39, 250, 39, $colorLinea); \imageline($captcha, 120, 45, 250, 45, $colorLinea); \imageline($captcha, 120, 50, 250, 50, $colorLinea); \imagestring($captcha, 5, 150, 35, Session::getValue('captcha'), $colorTexto); imagepng($captcha, getcwd() . "/public/uploads/captcha.png"); imagedestroy($captcha); }
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; }