Ir ao conteúdo
  • Cadastre-se

PHP Bloquear Url com PHP


Posts recomendados

Ola boa tarde,

 

Pessoal tenho um sistema de login, que quando ele digita seu e-mail e sua senha ele é redirecionado para um dashboard, porém mesmo quando a pessoa não faz login ela consegue acessar essa url, não queria que isso acontecesse, segue abaixo meu código.(Por favor fazer as alterações por cima do código).

 

Pagina login

 

<?php
	session_start();
?>
<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Login</title>
    <!-- LINKS !-->
    <link rel="stylesheet" href="../property/assets/css/bootstrap.min.css">
    <link rel="stylesheet" href="../property/assets/css/style.css">
    <link rel="stylesheet" href="../property/assets/font/css/font-awesome.min.css">
    <!-- FAVICON !-->
    <link rel="shortcut icon" href="img/favicon.png" tyrpe="image/x-icon">
  </head>

  <body>

      <div class="container">
          <div class="row">
              <div class="col-sm-2">

              </div>
              <div class="col-sm-8">
                <form class="block-form" method="POST" action="valida.php">
                  <h2 class="text-center">Área Restrita</h2>
                  <div class="form-group">
                    <input type="email" name="email" id="inputEmail" class="form-control" placeholder="Email" required autofocus>
                  </div>
                  
                  <div class="form-group">
                    <input type="password" name="senha" id="inputPassword" class="form-control" placeholder="Senha" equired>
                  </div>
                  
                  <button class="btn btn-lg btn-danger btn-block" type="submit">Acessar</button>
                </form>
                <p class="text-center text-danger">
                  <?php if(isset($_SESSION['loginErro'])){
                    echo $_SESSION['loginErro'];
                    unset($_SESSION['loginErro']);
                  }?>
                </p>
                <p class="text-center text-success">
                  <?php 
                  if(isset($_SESSION['logindeslogado'])){
                    echo $_SESSION['logindeslogado'];
                    unset($_SESSION['logindeslogado']);
                  }
                  ?>
                </p>
              </div>
              <div class="col-sm-2">

              </div>
          </div>
      </div>


      <script src="../property/assets/js/form-validation.js"></script>
      <script src="../property/assets/js/jquery-3.2.1.min.js"></script>
      <script src="../property/assets/js/popper.min.js"></script>
      <script src="../property/assets/js/bootstrap.bundle.min.js"></script>
  </body>
</html>

 

Pagina valida.php

<?php
	session_start();	
	include_once("../function/conection/conexao.php");	
	if((isset($_POST['email'])) && (isset($_POST['senha']))){
		$usuario = mysqli_real_escape_string($conn, $_POST['email']);
		$senha = mysqli_real_escape_string($conn, $_POST['senha']);
		$senha = md5($senha);

		$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);

		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: models/adm/");
			}elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){
				header("Location: models/admhospital/");
			}
		}else{	
			$_SESSION['loginErro'] = "Usuário ou senha Inválido";
			header("Location: index.php");
		}
	}else{
		$_SESSION['loginErro'] = "Usuário ou senha inválido";
		header("Location: index.php");
	}
?>

 

 

Pagina do dashboard

<?php
    session_start();
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>Administrativo</title>
    <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
    <link href="css/sb-admin-2.min.css" rel="stylesheet">

</head>
<body id="page-top">
    <!-- Page Wrapper -->
    <div id="wrapper">

                <?php include('includes/header.php'); ?>


                <div class="container-fluid">
                <?php
                    if(isset($_SESSION['cadastromsg'])){
                        echo $_SESSION['cadastromsg'];
                        unset($_SESSION['cadastromsg']);
                   }
                ?>
                    <!-- Page Heading -->
                    <div class="d-sm-flex align-items-center justify-content-between mb-4">
                        <h1 class="h3 mb-0 text-gray-800">Dashboard</h1>
                        <a href="#" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="faz fa-download fa-sm text-white-50"></i> Generate Report</a>
                    </div>

                    <div class="row">
                        <div class="col-xl-3 col-md-6 mb-4">
                            <div class="card border-left-primary shadow h-100 py-2">
                                <div class="card-body">
                                    <div class="row no-gutters align-items-center">
                                        <div class="col mr-2">
                                            <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
                                                Faturamento Anual(Sem Despesas)</div>
                                            <div class="h5 mb-0 font-weight-bold text-gray-800">
                                                R$
                                                    <?php
                                                        $conn = mysqli_connect('localhost','praticalimp_sistema','0OC_q(yfP]&0','praticalimp_sistema');
                                                        $resultado = mysqli_query($conn, "SELECT sum(valortotal) FROM clientes");
                                                        $linhas = mysqli_num_rows($resultado);
                                                        while($linhas = mysqli_fetch_array($resultado)){
                                                            $resultTotal1 = $linhas['sum(valortotal)'].'<br/>';
                                                            echo number_format($resultTotal1,0,",",".");
                                                            
                                                           
                                                                ?>,00
                                                                <?php
                                                            }
                                                    ?>
                                            </div>
                                        </div>
                                        <div class="col-auto">
                                            <i class="faz fa-calendar fa-2x text-gray-300"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>


                        <div class="col-xl-3 col-md-6 mb-4">
                            <div class="card border-left-success shadow h-100 py-2">
                                <div class="card-body">
                                    <div class="row no-gutters align-items-center">
                                        <div class="col mr-2">
                                            <div class="text-xs font-weight-bold text-success text-uppercase mb-1">
                                                Lucro Anual(Com Despessas)</div>
                                            <div class="h5 mb-0 font-weight-bold text-gray-800">
                                                R$
                                                    <?php
                                                        $conn = mysqli_connect('localhost','praticalimp_sistema','0OC_q(yfP]&0','praticalimp_sistema');
                                                        $resultado = mysqli_query($conn, "SELECT sum(lucro) FROM clientes");
                                                        $linhas = mysqli_num_rows($resultado);
                                                        while($linhas = mysqli_fetch_array($resultado)){
                                                            $resultTotal2 = $linhas['sum(lucro)'].'<br/>';
                                                            echo number_format($resultTotal2,0,",",".");    
                                                                ?>,00
                                                    
                                                                <?php
                                                            }
                                                    ?>
                                            </div>
                                        </div>
                                        <div class="col-auto">
                                            <i class="faz fa-dollar-sign fa-2x text-gray-300"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>


                        <div class="col-xl-3 col-md-6 mb-4">
                            <div class="card border-left-warning shadow h-100 py-2">
                                <div class="card-body">
                                    <div class="row no-gutters align-items-center">
                                        <div class="col mr-2">
                                            <div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
                                                Faturamento do Mês de Outubro</div>
                                            <div class="h5 mb-0 font-weight-bold text-gray-800">
                                                R$
                                                 <?php
                                                        $conn = mysqli_connect('localhost','praticalimp_sistema','0OC_q(yfP]&0','praticalimp_sistema');
                                                        $resultado = mysqli_query($conn, "SELECT SUM(lucro) AS total, MONTH(mes) AS mes FROM clientes WHERE MONTH(mes) = 10;");
                                                        $linhas = mysqli_num_rows($resultado);
                                                        while($linhas = mysqli_fetch_array($resultado)){
                                                            $resultTotal3 = $linhas['total'].'<br/>';
                                                            echo number_format($resultTotal3,0,",",".");     
                                                                ?>,00
                                                    
                                                                <?php
                                                            }
                                                    ?>
                                            </div>
                                        </div>
                                        <div class="col-auto">
                                            <i class="faz fa-history fa-2x text-gray-300"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>

                        <div class="col-xl-3 col-md-6 mb-4">
                            <div class="card border-left-danger shadow h-100 py-2">
                                <div class="card-body">
                                    <div class="row no-gutters align-items-center">
                                        <div class="col mr-2">
                                            <div class="text-xs font-weight-bold text-danger text-uppercase mb-1">
                                                Metragem Já Realizada</div>
                                            <div class="h5 mb-0 font-weight-bold text-gray-800">
                                                    <?php
                                                        $conn = mysqli_connect('localhost','praticalimp_sistema','0OC_q(yfP]&0','praticalimp_sistema');
                                                        $resultado = mysqli_query($conn, "SELECT sum(m2) FROM clientes");
                                                        $linhas = mysqli_num_rows($resultado);
                                                        while($linhas = mysqli_fetch_array($resultado)){
                                                            echo $linhas['sum(m2)'];
                                                                
                                                                ?><?php
                                                            }
                                                    ?>
                                            </div>
                                        </div>
                                        <div class="col-auto">
                                            <i class="faz fa-square fa-2x text-gray-300"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>

                    </div>
                    

                     <!-- Content Row -->
                     <div class="row">
                        <!-- Content Column -->
                        <div class="col-lg-12 mb-4">

                            <!-- Project Card Example -->
                            <div class="card shadow mb-4">
                                <div class="card-header py-3">
                                    <h2 class="m-0 font-weight-bold text-primary">Cadastrar Cliente</h2>
                                </div>
                                <div class="card-body">
                                   <form method="POST" action="operator/processa.php" class="">
                                   <input type="hidden" name="securityTokenInt" value="<?php echo md5(rand(3282322423242332965747547554, 2323232323424342321577865865562)); ?> ">
                                   <input type="hidden" name="qrId" value="<?php echo md5(rand(324, 1000)); ?>">
                                       <div class="form-group">
                                            <input type="text" name="nome" class="form-control" placeholder="Nome:" required>
                                       </div>

                                       <div class="form-group">
                                            <input type="number" name="celular" class="form-control" placeholder="Celular:" required>
                                       </div>

                                       <div class="form-group">
                                            <input type="text" name="endereco" class="form-control" placeholder="Endereço:" required>
                                       </div>

                                       <div class="form-group">
                                            <input type="text" name="m2" class="form-control" placeholder="M²" required>
                                       </div>

                                       <div class="form-group">
                                            <input type="text" name="profissionais" class="form-control" placeholder="Profissionais:" required>
                                       </div>

                                       <div class="form-group">
                                            <input type="date" name="mes" class="form-control" placeholder="Data:" required>
                                       </div>

                                       <div class="form-group">
                                        <select class="form-control" name="limpeza">
                                            <option>Tipo da Limpeza</option>
                                            <option value="Pos obra">Limpeza Pós Obra</option>
                                            <option value="Pré Mudança">Lipeza Pré Mudança</option>
                                            <option value="Fachada">Limpeza de Fachada</option>
                                            <option value="Galpão">Limpeza de Galpão</option>

                                        </select>
                                       </div>

                                       <div class="form-group">
                                            <input type="text" name="cpf" oninput="mascara(this)" maxlength="11" class="form-control" placeholder="CPF:" required>
                                       </div>

                                       <div class="form-group">
                                            <input type="number" name="valortotal" class="form-control" placeholder="Valor Cobrado:" required>
                                       </div>

                                       <div class="form-group">
                                            <input type="number" name="lucro" class="form-control" placeholder="Lucro:" required>
                                       </div>

                                       <div class="form-group">
                                            <input type="text" name="obs" class="form-control" placeholder="Observação:">
                                       </div>

                                       <h4><strong>Informações do Contrato</strong></h4>

                                       <div class="form-group">
                                            <select class="form-control" name="tinta">
                                                <option>Retirada de Tinta?</option>
                                                <option value="com retirada de respingos de tinta, argamassa, cola, rejunte caso houver.">Sim</option>
                                                <option value="sem retirada de respingos de tinta, argamassa, cola, rejunte caso houver.">Não</option>
                                            </select>
                                       </div>

                                       <div class="form-group">
                                            <select class="form-control" name="eletrodomestico">
                                                <option>Armários ou Eletrodomésticos?</option>
                                                <option value="Com limpeza Interna ou Externa">Sim</option>
                                                <option value="Sem limpeza Interna ou Externa">Não</option>
                                            </select>
                                       </div>

                                       <div class="form-group">
                                            <textarea name="contratoObs" cols="20" rows="5" class="form-control" placeholder="Observação:"></textarea>
                                       </div>

                                       <input class="btn btn-lg btn-danger btn-block"  type="submit" value="Cadastrar">
                                   </form>
                                </div>
                            </div>
                        </div>
                      </div>


            </div>
            <!-- End of Main Content -->

            <!-- Footer -->
            <footer class="sticky-footer bg-white">
                <div class="container my-auto">
                    <div class="copyright text-center my-auto">
                        <span>Copyright &copy; Vinícius Simões</span>
                    </div>
                </div>
            </footer>
            <!-- End of Footer -->

        </div>
        <!-- End of Content Wrapper -->

    </div>
    <!-- End of Page Wrapper -->

    <!-- Scroll to Top Button-->
    <a class="scroll-to-top rounded" href="#page-top">
        <i class="faz fa-angle-up"></i>
    </a>

    <!-- Logout Modal-->
    <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
        aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">Tem certeza que deseja sair?</h5>
                    <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">×</span>
                    </button>
                </div>
                <div class="modal-body">Ao sair você finalizara sua sessão.</div>
                <div class="modal-footer">
                    <button class="btn btn-danger" type="button" data-dismiss="modal">Cancelar</button>
                    <a class="btn btn-primary" href="../../utilities/request.php">Sair</a>
                </div>
            </div>
        </div>
    </div>

    <!-- Bootstrap core JavaScript-->
    <script src="vendor/jquery/jquery.min.js"></script>
    <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
    <script src="vendor/jquery-easing/jquery.easing.min.js"></script>
    <script src="js/sb-admin-2.min.js"></script>
    <script src="vendor/chart.js/Chart.min.js"></script>
    <script src="js/demo/chart-area-demo.js"></script>
    <script src="js/demo/chart-pie-demo.js"></script>
    <script>
        function mascara(i){
   
   var v = i.value;
   
   if(isNaN(v[v.length-1])){ // impede entrar outro caractere que não seja número
      i.value = v.substring(0, v.length-1);
      return;
   }
   
   i.setAttribute("maxlength", "14");
   if (v.length == 3 || v.length == 7) i.value += ".";
   if (v.length == 11) i.value += "-";

}
    </script>                                                      

</body>

</html>

 

 

Desde já Obrigado   

Pessoal acabei de conseguir vou

estar postando o código, para futuramente estar ajudando alguém.

 

crie uma pagina registro.php

 

<?php
session_start();
// Se o usuário não está logado, manda para página de login.
if (!isset($_SESSION['usuarioId'])) header("Location: ../");

Onde esta "usuarioId" coloque o nome da sessão que inincia com ID

 

depois chame esse código na pagina que deseja bloquear 

 

index.php

<?php
    require_once('registro.php');
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>Administrativo</title>
    <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
    <link href="css/sb-admin-2.min.css" rel="stylesheet">

</head>
<body id="page-top">
    <!-- Page Wrapper -->
    <div id="wrapper">

Lembre o required deve ser o primeiro código da sua pagina sem mesmo um espaço 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Olá, em seu dashboard.php bastaria apenas uma validação.

 

if(!isset($_SESSION['username'])) :
	header("Location: /login");
endif;

 

Provavelmente você terá mais páginas que exigirão autenticação e para seu código não ficar redundante recomendo você criar uma function.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...