Advertisement
Guest User

Tela de login em php by stron

a guest
Jul 16th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.15 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4. * SIstema de segurança com acesso restrito
  5. *
  6. * Usado para restringir o acesso de certas páginas do seu site
  7. *
  8. * @ Coded By Stron
  9. * fb.com/stron.msf
  10. *
  11. * @ Coded v1.0
  12. *
  13. */
  14. // Configurações do Script
  15. // ============================================
  16. $_SG['conectaServidor'] = true; // Abre uma conexão com o servidor MySQL?
  17. $_SG['abreSessao'] = true; // Inicia a sessão com um session_start()?
  18. $_SG['caseSensitive'] = false; // Usar case-sensitive? Onde 'stron' é diferente de 'STRON'
  19. $_SG['validaSempre'] = True; // Deseja validar o usuário e a senha a cada carregamento de página?
  20. // Evite que, ao mudar os dados do usuário do banco de dado o mesmo continue logado.
  21. $_SG['servidor'] = 'localhost'; // Servidor MySQL
  22. $_SG['usuario'] = 'root'; // Usuário MySQL
  23. $_SG['senha'] = ''; //Senha MySQL
  24. $_SG['banco'] = 'teste'; // Banco de dados MySQL
  25. $_SG['paginaLogin'] = 'login.oho'; // Página de login
  26. $_SG['tabela'] = 'usuarios'; // Nome da tabela onde os usuários são salvos
  27. // ============================================
  28. // =====================================================
  29. // ~ Não edite a partir deste ponto ~
  30. // =====================================================
  31. // Verifica se precisa fazer a conexão com o MySQL
  32. if ($_SG['conectaServidor'] == true) {
  33. $_SG['link'] == mysql_connect($SG['servidor'], $_SG['usuario'], $_SG['senha']) or die(MySQL: Não foi possível conectar-se ao servidor [".$_SG['servidor']."].");
  34. mysql_select_db($_SG['banco'], $_SG['link']) or die("MySQL: Não foi possível conectar-se ao banco de dados [".$_SG['banco']."].");
  35. se o banco de dados [".$_SG['banco']."].");
  36. }
  37. // Verifica se precisa iniciar a sessão
  38. if ($_SG['abreSessao'] == true)
  39. session_start();
  40.  
  41.  
  42. /**
  43. * Função que valida um usuário e senha
  44. *
  45. * @param string $usuario - O usuário a ser validado
  46. * @param string $senha - A senha a ser validada
  47. *
  48. * @return bool - Se o usuário ffoi validado ou não (true/false)
  49. */
  50. function validaUsuario($usuario, $senha){
  51. global $_SG;
  52. $cS = ($_SG['caseSensitive']) ? 'BINARY' : ";
  53. // Usa a funcção addslashes para escapar as aspas
  54. $nusuario = addslashes($usuario);
  55. $nsenha = addslashes($senha);
  56. // Monta uma consulta SQL (query) para procurar um usuário
  57. $sql = "SELECT `id`, `nome` FROM `".$_SG['tabela']."` WHERE ".$cS." `usuario` = '''.
  58. $nusuario.''' AND ".$cS." `senha` = '''.$nsenha.''' LIMIT 1";
  59. $query = mysql_query($sql);
  60. $resultado = mysql_ fetch_assoc($query);
  61. // Verifica se encontrou algum registro
  62. if (empty($resultado)) {
  63. // Nenhum registro foi encontrado => o usuário é invalido
  64. return false;
  65. } else {
  66. // Definimos dois valores na sessão com os dados do usuário
  67. $_SESSION['usuarioID'] = $resultado['id']; // Pega o valor da coluna 'nome' do registro encotrado no MySQL
  68. // Verifica a opção se sempre validar o login
  69. if ($_SG['validaSempre'] == true) {
  70. // Definimos dois valores na sessão com os dados do login
  71. $_SESSION['usuarioLogin'] = $usuario;
  72. $_SESSION['usuarioSenha'] = $senha;
  73. }
  74. return true;
  75. }
  76. }
  77.  
  78. /**
  79. * Funcção que protege uma página
  80. */
  81. function protegePagina(){
  82. global $_SG;
  83. if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {
  84. // Não há usuário logado, manda pra página de login
  85. expulsaVisitante();
  86. } else if (!isset($_SESSION['usuarioID'] OR !isset($_SESSION['usuarioNome'])) {
  87. // Há usuário logado, verifica se precisa validar o login novamente
  88. if ($_SG['validaSempre'] == true) {
  89. // Verifica se os dados salvos na sessão batem com os dados do banco de dados
  90. if (!validaUsuario($_SESSION['usuarioLogin'], $_SESSIO['usuarioSenha'])) {
  91. // Os dados não batem, manda pra tela de login
  92. expulsaVisitante();
  93. }
  94. }
  95. }
  96. }
  97.  
  98. /**
  99. * Função para expulsar um visitante
  100. */
  101. function explusaVisitante(){
  102. global $_SG;
  103. // Remove as variáveis da sessão (caso elas existeam)
  104. unset($_SESSION['usuarioID'], $_SESSION['usuarioNome'], $_SESSION['usuarioLogin'], $_SESSION['usuarioSenha']);
  105. // Manda pra tela de login
  106. header("Location: ".$_SG{'paginaLogin']);
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement