Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 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