Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Douglas Gomes

Sistema de restrição de páginas

Pergunta

Boa tarde, pessoal!

 

Sou novo aqui no fórum e já preciso de uma ajuda. Quero montar um sistema web que restrinja páginas de um site que eu determinar. Consegui montar essa lógica aqui que a princípio ajudará, porém preciso da lógica que cadastre o usuário no banco de dados e depois no momento do login, verificar se o usuário existe ou não no banco. Como faço isso com esse código a baixo?

 

Olha o código:

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
// Definimos o nome de usuário e senha de acesso
$usuario = "usuario";
$senha = "senha";
 
// Criamos uma função que exibirá uma mensagem de erro caso os dados estejam errados
function erro(){
    // Definindo Cabeçalhos
    header('WWW-Authenticate: Basic realm="Administracao"');
    header('HTTP/1.0 401 Unauthorized');
// Mensagem que será exibida
    echo '<h1>Voce n&atilde;o tem permiss&atilde;o para acessar essa &aacute;rea</h1>';
// Pára o carregamento da página
    exit;
}
 
// Se as informações não foram setadas
if (!isset($_SERVER['PHP_AUTH_USER']) or !isset($_SERVER['PHP_AUTH_PW'])) {
erro();
}
// Se as informações foram setadas
else {
// Se os dados informados forem diferentes dos definidos
if ($_SERVER['PHP_AUTH_USER'] != $usuario or $_SERVER['PHP_AUTH_PW'] != $senha) {
erro();
}
}
?>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

0 respostas a esta questão

Recommended Posts

Até agora não há respostas para essa pergunta


  • Conteúdo Similar

    • Por Kefatif
      Prezados, bom dia.
       
      Tenho uns um sistema com uns relatórios em PDF na pasta do meu domínio onde chamo pelo comando abaixo:

                 
      <div class="row">             <div class="col-md-4 img-portfolio">                 <a href="relatorios/teste.pdf" target="_blank">                 <img class="img-responsive img-hover" src="../img/jan-700x400.jpg" alt=""></a><h3>                 <center><a href="relatorios-teste/relatorios-producao.php">Janeiro/2021</a></center></h3>             </div>  
      Mas se uma pessoa acessar o PDF, copiar o link e enviar para uma outra pessoa que não tem acesso ao sistema, essa pessoa não autorizada terá acesso a esses relatórios, existe alguma forma para restringir esse acesso?
       
      Uso a autenticação da seguinte forma.
       
      Arquivo "Autenticação":
       
      <?php session_start(); //se não(!) existir a sessao login if(!isset($_SESSION["nome"])){ session_destroy(); $msg = "Acesso negado!"; header("location:../login.php?msg=".$msg); }elseif( $_SESSION["perfil"] != 'relatorios' ){ $msg = "Acesso negado!"; header("location:../painel.php?msg=".$msg); } ?>  
       
      Agradeço a todos desde já.
    • Por Ribis
      Prezados, bom dia.
       
      Me cadastrei no fórum a fim de ajudar um amigo.
      Ele realiza pesquisa de vagas laborais no site governamental: https://empregabrasil.mte.gov.br/, o qual possui um campo de pesquisa denominado "Vagas de Emprego", onde se digita algo a ser encontrado.
      Anteriormente, além de digitar neste campo de pesquisa, existiam filtros que deveriam ser preenchidos, tais como: estado, cidade e etc., os quais restringiam e finalizavam a busca.
      Ocorreu mudança no sistema de pesquisa do site, sendo que: primeiramente se digita no campo de pesquisa e depois, se encontrar algum resultado de pesquisa, é que os filtros (estado, cidade e etc) serão habilitados...
       
      Antes de ocorrer a mudança no sistema de pesquisa do site, meu amigo digitava "%%%" (sem as aspas) e obtinha vários resultados, logo em seguida, aplicava os filtros correspondentes para restringir sua busca.
      Agora, a forma de pesquisa tornou-se complicada,  pois, considera-se os caracteres de forma genérica e o sistema de filtros nem sempre abrem, o "%%%" não funciona e etc.
      Enfim, tornou-se complicado algo que era relativamente simples.
       
      Pois bem, após estas explicações, peço a vocês: por favor, existe algum "operador de pesquisa" que possa ser digitado para retornar todos os valores existentes no banco de dados do site, o que consequentemente, fará com que o sistema de filtro seja habilitado e possa se restringir a busca?

      *Moderação, não sei qual o tipo de programação utilizada no site supracitado, coloquei o tópico na sessão HTML e CSS, por entender que seria mais apropriado.
       
      Desde já, agradeço a todos que possam tentar ajudar.
      Ribis.
       
       
    • Por Rafael Freitas
      Boa noite galera!
       
      Estou precisando de uma força, seguinte:
      Eu tenho um sisteminha de login e senha funcionando normalmente. Porém, a página que seria "restrita somente à usuários logado" está acessível para qualquer um, se esse tentar acessar pela url.
       
      Como faço pra restringir aquela página somente para quem estiver logado. Caso não esteja, direcionar para a página de login novamente.
       
      Segue o código:
      <?php session_start(); //Incluindo a conexão com banco de dados include_once("conexao.php"); //O campo usuário e senha preenchido entra no if para validar if((isset($_POST['email'])) && (isset($_POST['senha']))){ $usuario = mysqli_real_escape_string($conn, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection $senha = mysqli_real_escape_string($conn, $_POST['senha']); $senha = md5($senha); //Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário $result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $resultado = mysqli_fetch_assoc($resultado_usuario); //Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário if(isset($resultado)){ $_SESSION['usuarioId'] = $resultado['id']; $_SESSION['usuarioNome'] = $resultado['nome']; $_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id']; $_SESSION['usuarioEmail'] = $resultado['email']; if($_SESSION['usuarioNiveisAcessoId'] == "1"){ header("Location: administrativo.php"); }elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){ header("Location: colaborador.php"); }else{ header("Location: cliente.php"); } //Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário //redireciona o usuario para a página de login }else{ //Váriavel global recebendo a mensagem de erro $_SESSION['loginErro'] = "Usuário ou senha Inválido"; header("Location: index.php"); } //O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login }else{ $_SESSION['loginErro'] = "Usuário ou senha inválido"; header("Location: index.php"); } ?> Ainda estou começando no PHP,  quem puder dar uma força, agradeço! =)
       
      Abraço.
    • Por JosimarNew
      Olá a todos. Gostaria de saber se alguém conhece algum programa para restringir o movimento do mouse no centro da tela do pc.
       
      Exemplo: o ponteiro do mouse deverá se movimentar apenas no centro da tela em não ultrapassando as coordenadas definidas pelo programa, sendo que essa área onde o ponteiro deverá se movimentar tem que ser um área circular.
       
      Parecido com isso.

    • Por malukovynsk
      Tudo bem pessoal? então tem um probleminha no meu código e eu não consigo solucionar:
      é assim, é uma caixa de formulário que filtra somente os números de telefone:
      Por exemplo se eu colocar nela o seguinte conteúdo: valido | outro | invalido (99)985292963 valido | outro | invalido (99)985292963 valido | outro | invalido (99)985292963 valido | outro | invalido (99)985292963 
       
      ele vai filtrar assim: (99)98529-2963 /(99)98529-2963 /(99)98529-2963 /(99)98529-2963 
       
      Até ai tudo bem, mas se eu colocar um conteúdo que tenha outros números separados sem ser o de telefone ele nao filtra, ele apaga tudo.
       
      exemplo: (99)98529-2963 n chama 2 vezes/ (99)98529-2963 caixa postal 2 vezes /
       
      Em vez de ele apagar o numero 2 que não é em formato de telefone ele exclui tudo.
       
      Então eu queria que vocês me ajudassem nessa questão, se tiver numero separado sem ser no formato de telefone, tanto celular e fixo ele apagasse esses numeros e deixasse somente os de telefone...
       
      tem como?
      <script> function filtrarNumeros() { var value = $('#areaFiltro').val(); var caracteresValidos = /[^0-9()-]/gi; var cont = 0; var space = document.createTextNode("\u00A0"); var res = value.split('('); var numerosInvalidos = []; var numerosValidos = []; for(var t = 0; t<res.length; t++){ res[t] = "("+res[t]; if(res[t].length == 14) { res1 = res[t].slice(0,10); res2 = res[t].slice(10,14); console.log(res[t].slice(9,10) ); if(res[t].slice(9,10) == '-') { numerosValidos.push(res1 + res2); }else { numerosValidos.push(res1 + '-' + res2); } } else if(res[t].length == 13) { res1 = res[t].slice(0,9); res2 = res[t].slice(9,13); console.log(res[t].slice(8,9) ); if(res[t].slice(8,9) == '-') { numerosValidos.push(res1 + res2); }else { numerosValidos.push(res1 + '-' + res2); } } else if(res[t].length == 12) { res1 = res[t].slice(0,8); res2 = res[t].slice(8,12); console.log(res[t].slice(7,8) ); if(res[t].slice(7,8) == '-') { numerosValidos.push(res1 + res2); }else { numerosValidos.push(res1 + '-' + res2); } } /* else if(res[t].length == 9) { res1 = res[t].slice(0,5); res2 = res[t].slice(5,9); console.log(res1+'-'+res2); } else if(res[t].length == 8) { res1 = res[t].slice(0,4); res2 = res[t].slice(4,8); console.log(res1+'-'+res2); }*/ else{ numerosInvalidos.push(res[t]); //swal("Ops","Algum dado está errado no filtro, Verifique e tente novamente","warning"); } } console.log('Inválido:', numerosInvalidos); console.log('Válido:', numerosValidos); if(caracteresValidos.test(value) || !caracteresValidos.test(value)){ value = value.replace(caracteresValidos, ""); for(var x=0; x<value.length;x++){ if(value[x] == ')'){ cont = cont + 1; } } //document.getElementById("areaFiltro").value = value; document.getElementById("areaFiltro").value = numerosValidos; document.getElementById("areaFiltro").focus(); document.getElementById("areaFiltro").select(); document.getElementById("btnCopiar").disabled = false; $("#btnCopiar").click(function(){ $("textarea").select(); document.execCommand('copy'); }); document.getElementById("rowTotal").hidden = false; document.getElementById("cont").value = cont; } if(value == '') { console.log(caracteresValidos.test(value)); swal("Ops!", "Preencha o campo!", "warning") } } </script> --}} <script> function filtrarNumeros() { var value = $('#areaFiltro').val(); var caracteresValidos = /[^0-9()-]/gi; var cont = 0; if (caracteresValidos.test(value) || !caracteresValidos.test(value)) { value = value.replace(caracteresValidos, ""); for (var x = 0; x < value.length; x++) { if (value[x] == ')') { cont = cont + 1; } } ///// var res = value.split('('); var numerosInvalidos = []; var numerosValidos = []; for (var t = 0; t < res.length; t++) { res[t] = "(" + res[t]; if (res[t].length == 14) { res1 = res[t].slice(0, 10); res2 = res[t].slice(10, 14); console.log(res[t].slice(9, 10)); if (res[t].slice(9, 10) == '-') { numerosValidos.push(res1 + res2 + " "); } else { numerosValidos.push(res1 + '-' + res2 + " "); } } else if (res[t].length == 13) { res1 = res[t].slice(0, 9); res2 = res[t].slice(9, 13); console.log(res[t].slice(8, 9)); if (res[t].slice(8, 9) == '-') { numerosValidos.push(res1 + res2 + " "); } else { numerosValidos.push(res1 + '-' + res2 + " "); } } else if (res[t].length == 12) { res1 = res[t].slice(0, 8); res2 = res[t].slice(8, 12); console.log(res[t].slice(7, 8)); if (res[t].slice(7, 8) == '-') { numerosValidos.push(res1 + res2 + " "); } else { numerosValidos.push(res1 + '-' + res2 + " "); } } /* else if(res[t].length == 9) { res1 = res[t].slice(0,5); res2 = res[t].slice(5,9); console.log(res1+'-'+res2); } else if(res[t].length == 8) { res1 = res[t].slice(0,4); res2 = res[t].slice(4,8); console.log(res1+'-'+res2); }*/ else { numerosInvalidos.push(res[t]); //swal("Ops","Algum dado está errado no filtro, verifique e tente novamente","warning"); } } //console.log('Inválido:', numerosInvalidos); //console.log('Válido:', numerosValidos); /////////// document.getElementById("areaFiltro").value = numerosValidos.join('/'); document.getElementById("areaFiltro").focus(); document.getElementById("areaFiltro").select(); document.getElementById("btnCopiar").disabled = false; $("#btnCopiar").click(function () { $("textarea").select(); document.execCommand('copy'); }); document.getElementById("rowTotal").hidden = false; document.getElementById("cont").value = cont; } if (value == '') { console.log(caracteresValidos.test(value)); swal("Ops!", "Preencha o campo!", "warning") } } </script>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.