Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //require_once '../classes/conexao.php';
- /*
- |-------------------------------------------------------------------
- | CLASSE USUARIO
- |-------------------------------------------------------------------
- | por : Kelvin Eger
- | em : 12/02/2015
- | versão : 1.1
- | descricao : Uma classe de login com criptografia md5 e
- | orientada a objetos.
- |
- */
- class Usuario
- {
- // dados do usuario, caso queiram adicionar mais funcoes como insercao, edicao e etc.
- var $usuario;
- var $senha;
- // dados do servidor mysqli
- var $host = 'localhost';
- var $user = 'root';
- var $pw = '';
- var $db = 'garagem';
- function logar($login, $senha)
- {
- // conecta ao banco de dados
- $this->conecta_bd();
- $this->usuario = $login;
- $this->senha = md5($senha);
- /**
- * Ao invés de procurar o usuário e senha, eu busco apenas a senha, e comparo com o login.
- * Caso eu ache uma senha para determinado login, eu vou verificar quantos registros
- * foram encontrados.
- */
- $select = "select senha from usuarios where login = '$login'";
- $query = mysqli_query($select);
- $linhas = mysqli_num_rows($query);
- $resultado = mysqli_fetch_array($query);
- /**
- * Aqui alem de comparar a senha digitada com a senha que foi encontrada no banco.
- * eu vejo tambem se foi encontrado apenas um registro.
- * isso significa que se o usuário digitar 'or 1 = '1-- no campo senha,
- * ele vai comparar: se senhadobanco == "'or 1 = '1--".
- * se ele digitou o sql injection tambem no campo usuario, o bd retornara mais de
- * um resultado, portanto tambem nao ira passar na validacao.
- * a nao ser é claro que seu banco so tenha apenas um usuario =P
- */
- if(($this->senha == $resultado['senha']) and ($linhas == 1)):
- // se estiver tudo correto.
- return true;
- else:
- // senao, retorna false.
- return false;
- endif;
- }
- function conecta_bd()
- {
- $conexao = mysqli_connect($this->host, $this->user, $this->pw);
- // mysqli_select_db($this->db, $conexao);
- }
- }
- ?>
Add Comment
Please, Sign In to add comment