Kelvineger

usuario.php

Feb 13th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. <?php
  2. //require_once '../classes/conexao.php';
  3. /*
  4. |-------------------------------------------------------------------
  5. | CLASSE USUARIO
  6. |-------------------------------------------------------------------
  7. | por : Kelvin Eger
  8. | em : 12/02/2015
  9. | versão : 1.1
  10. | descricao : Uma classe de login com criptografia md5 e
  11. | orientada a objetos.
  12. |
  13. */
  14. class Usuario
  15. {
  16. // dados do usuario, caso queiram adicionar mais funcoes como insercao, edicao e etc.
  17. var $usuario;
  18. var $senha;
  19.  
  20. // dados do servidor mysqli
  21. var $host = 'localhost';
  22. var $user = 'root';
  23. var $pw = '';
  24. var $db = 'garagem';
  25.  
  26. function logar($login, $senha)
  27. {
  28. // conecta ao banco de dados
  29. $this->conecta_bd();
  30.  
  31. $this->usuario = $login;
  32. $this->senha = md5($senha);
  33.  
  34. /**
  35. * Ao invés de procurar o usuário e senha, eu busco apenas a senha, e comparo com o login.
  36. * Caso eu ache uma senha para determinado login, eu vou verificar quantos registros
  37. * foram encontrados.
  38. */
  39. $select = "select senha from usuarios where login = '$login'";
  40. $query = mysqli_query($select);
  41. $linhas = mysqli_num_rows($query);
  42. $resultado = mysqli_fetch_array($query);
  43. /**
  44. * Aqui alem de comparar a senha digitada com a senha que foi encontrada no banco.
  45. * eu vejo tambem se foi encontrado apenas um registro.
  46. * isso significa que se o usuário digitar 'or 1 = '1-- no campo senha,
  47. * ele vai comparar: se senhadobanco == "'or 1 = '1--".
  48. * se ele digitou o sql injection tambem no campo usuario, o bd retornara mais de
  49. * um resultado, portanto tambem nao ira passar na validacao.
  50. * a nao ser é claro que seu banco so tenha apenas um usuario =P
  51. */
  52. if(($this->senha == $resultado['senha']) and ($linhas == 1)):
  53. // se estiver tudo correto.
  54. return true;
  55. else:
  56. // senao, retorna false.
  57. return false;
  58. endif;
  59. }
  60.  
  61. function conecta_bd()
  62. {
  63. $conexao = mysqli_connect($this->host, $this->user, $this->pw);
  64. // mysqli_select_db($this->db, $conexao);
  65. }
  66.  
  67. }
  68.  
  69. ?>
Add Comment
Please, Sign In to add comment