Ir ao conteúdo

Posts recomendados

Postado

Tenho comunicação do login com banco de dados php my admin 

porém ao acessar a próxima pagina ele entra sem ter precisado colocar senha, aceito acesso remoto para ajudar 

 

INDEX.PHP  (INICIAL PAGINA DE LOPGIN

<?php 
require_once 'logincadastro/usuarios.php';
$u = new Usuario();
?>


<form method="POST">
			<input type="email" placeholder="E-mail" name="email" style="color: #FAFAFA">
			<input type="password" placeholder="Senha" name="senha" style="color: #FAFAFA">
			<input type="submit" value="Entrar" style="color: #FAFAFA">
			<a href="#.php"><strong style="color: #acf40d">Cadastre-se! Para ter Acesso.</strong></a>
			<a href="#.php"><strong style="color: #acf40d" >Versão das Atualizações</strong></a>
			<a href="#.php"><strong style="color: #acf40d" >Enviar Mensagem ao Administrador</strong></a>

			<a data-toggle="modal" data-target="#myModal" style="color: white; cursor: pointer;">Termo de uso</a>

			<div>
			<strong>
		    <a href="#.php" style="color: #FF0066;"> Esqueceu a senha? vou lhe ajudar !!!</a>
            </strong></div>
        </form>



<?php
if(isset($_POST['email']))
{
    $email = addslashes($_POST['email']);
    $senha = addslashes($_POST['senha']);
    
    if(!empty($email) && !empty($senha))
    {
        $u->conectar("projeto_login","localhost","root","");
        if($u->msgErro == "")
        {
            if($u->logar($email,$senha))
            {
                header("location: URL REMOVIDA, OK");
            }
            else
            {
                ?>
                <div class="msg-erro">
                    E-mail/senha não localizado!
                </div>
                <?php
            }
        }
        else
        {
            ?>
            <div class="msg-erro">
                <?php echo "Erro: ".$u->msgErro; ?>
            </div>
            <?php
        }
    }else
    {
        ?>
        <div class="msg-erro">
            Preencha todos campos!
        </div>
        <?php
    }
}
?>

 

 

POR FAVOR FAZER A ALTERAÇÃO POR CIMA DESSE CÓDIGO, 

Postado

Bom dia Claudio, você teria de fazer uma $_SESSION após o procedimento de login e perguntar na próxima página se ela existe, caso ela exista você libera o acesso, caso não exista você redireciona para a página de login novamente invocando uma mensagem de erro.

 

Página de Login

<?php
session_start();
if(isset($_POST['email']))
{
    $email = addslashes($_POST['email']);
    $senha = addslashes($_POST['senha']);
    
    if(!empty($email) && !empty($senha))
    {
        $u->conectar("projeto_login","localhost","root","");
        if($u->msgErro == "")
        {
            if($u->logar($email,$senha))
            {
				$_SESSION['SISTEMA_LOGADO']['IDENTIDADE'] = $email;
				$_SESSION['SISTEMA_LOGADO']['VERIFICA'] = hash('sha512', $email.date('Y-m-d').'logado');
				//Redirecione o header p/ página que deseja entrar após o login
                header("location: URL REMOVIDA, OK");
              	//para de rodar o código caso o header não redirecione (medida de segurança)
              	exit;
				
            }
            else
            {
                ?>
                <div class="msg-erro">
                    E-mail/senha não localizado!
                </div>
                <?php
            }
        }
        else
        {
            ?>
            <div class="msg-erro">
                <?php echo "Erro: ".$u->msgErro; ?>
            </div>
            <?php
        }
    }else
    {
        ?>
        <div class="msg-erro">
            Preencha todos campos!
        </div>
        <?php
    }
}
?>

 

Página que deseja bloquear

<?php
session_start();
if(!isset($_SESSION['SISTEMA_LOGADO'])){
	//msg de erro caso o usuario não esteja logado
}
if($_SESSION['SISTEMA_LOGADO']['VERIFICA'] !== hash('sha512', $_SESSION['SISTEMA_LOGADO']['IDENTIDADE'].date('Y-m-d').'logado')){
	//msg de erro caso o usuario tenha de autenticar novamente
}

//CONTEUDO DA PÁGINA

 

Não consegui testar o código por aqui, qualquer problema só dar um toque!

 

Grande abraço

Postado

@Claudio Pqn Vamos com calma amigo, o phpmyadmin é um gerenciador em php para o banco de dados MYSQL.

 

O que você realmente precisa de ajuda?

 

Você coloco um código ali, porém não tem sentido o código com sua duvida!

 

Você quer saber porque o usuário está acessando a página sem está logando, porém não tem nenhum sistema de validação de usuário.

 

Então você quer ajuda para criar um sistema de usuário?

Postado

Então você quer ajuda para criar um sistema de usuário?

 

Sim, um sistema de validação de usuários .

fazendo ele não poder entrar na próxima pagina, sem antes ter passado pela diretriz de E-mail e Senha.

já tenho tudo ok, comunicação , cadastro e login, com o banco de dados. 

 

cria o cadastro e loga com ele,  porém .. só falta isso.

Postado

Boa tarde Claudio,

 

Eu vi ali em cima que você já tem a classe/função de login/cadastro referenciada, se as mesmas já estiverem finalizadas, e for somente verificar, basta utilizar $_SESSION ou $_COOKIE para fazer a validação.

 

No incio da página antes de declarar/referenciar qualquer include incie a session com o:

session_start();

Após isso faça os procedimentos de login e ANTES de redirecionar ou finalizar crie as sessions:

$_SESSION['SISTEMA_LOGADO']['IDENTIDADE'] = $email;
$_SESSION['SISTEMA_LOGADO']['VERIFICA'] = hash('sha512', $email.date('Y-m-d').'logado');

Lembrando que essas sessions eu criei usando com base o $_POST do email e a data atual + um salt LOGADO. Após iniciar as mesmas basta realizar o redirecionamento/procedimentos para finalizar o login.

 

Já na página que deseja verificar inicie novamente a session ANTES das includes:

session_start();

E APÓS declarar as includes verifique com um IF se as sessions existem e se o hash criado na session de login é o mesmo:

if(!isset($_SESSION['SISTEMA_LOGADO'])){
	//msg de erro caso o usuario não esteja logado (caso não exista a session)
}
if($_SESSION['SISTEMA_LOGADO']['VERIFICA'] !== hash('sha512', $_SESSION['SISTEMA_LOGADO']['IDENTIDADE'].date('Y-m-d').'logado')){
	//msg de erro caso o usuario tenha de autenticar novamente (caso a verificação falhe, ou seja, os dados não sejam iguais)
}

//CONTEUDO NORMAL DA PÁGINA (ESSE CONTEUDO ESTARA PROTEGIDO E SÓMENTE PODERÁ SER ACESSADO PELO USUÁRIO.

 

Se quiser posso adaptar pra ti, basta postar sua function de login, lembre-se de remover as referencias do banco de dados (como senha/usuario/database/hostname e etc) antes de postar.

 

Grande abraço.

Postado

@Claudio Pqn

 

Bom, para você entender como funciona um sistema de login na WEB e como criar um, eu vou utilizar um exemplo.

 

O sistema de login funciona como um hotel onde você tem a reserva, o check-in, o cartão de acesso e o check-out.

 

A reserva seria o usuário, caso ele já tenha criado o usuário, ele não vai precisar criar um para acessar.

 

O check-in é o sistema que vai verificar se o usuário realmente existe e se os dados estão coretos, nesse caso o login e a senha, caso o usuário esteja invalido ele deve bloquear o acesso, caso o usuário esteja correto ele teve entregar o cartão de acesso.

 

O cartão de acesso é o objeto que vai permitir ele transitar dentro e fora do hotel, é o que também vai limitar a área de acesso do usuário e também vai servir para reconhecer ele dentro do hotel(site/sistema).

 

O check-out é o sistema que vai recolher esse cartão de acesso e finalizar o acesso do usuário ao hotel(site/sistema).

 

Bom, agora que você sabe como funciona um sistema de login básico na web, você deve criar esses sistema e o cartão de acesso.

 

O reserva você pelo visto já crio, que seria o sistema de cadastro.

 

O check-in você também crio, que seria o sistema de login onde você já faz a verificação dos dados do usuário que seria o login e a senha.

 

Agora só falta você criar o cartão de acesso e o sistema de check-out.

 

Geralmente o cartão de acesso em um algoritmo em hash, onde você vai criar aleatoriamente e entregar para o usuário e vai guardar uma cópia no banco de dados, assim vai servir para permitir o acesso e verificar o usuário.

 

Esse entregar um valor para o usuário, na verdade seria entregar para o navegador do usuário guarda para ele.

 

Para você fazer isso existe alguns métodos.

 

O mais utilizado em php é o métodos em session.

 

Aqui tem um tutorial de como funciona a session em php

https://www.w3schools.com/php7/php7_sessions.asp

 

Depois de você criar a session do usuário e entregar para ele, você deve criar uma função que vai verificar o cartão de acesso dele, nesse caso vai verificar se a session existe e se o algoritmo dentro dela bate com a do banco de dados.

 

Você deve colocando esse função de verificação dentro das página que são restritas.

 

Agora só vai falta o sistema de check-out, que basicamente é você deletar a session do usuário, e lembre de deletar o algoritmo do banco de dados.

 

Caso você queira ajuda com os códigos e como você deve fazer cada parte, você pode perguntar de boa que nós responde.

Postado

@GabrielSennaMs @ArThDsL  valeu, mesmo muito obrigado pelo tempo dedicado à ajudar, vou tentar aqui @ArThDsL  realmente já tenho tudo padronizado e funcionando,  e comunicando com banco de dados .

 

Só falta essa parte mesmo, de reconhecimento somente de quem fez o login, e  entrar na pagina,  irei tentar agora mesmo, deixo retorno aqui.

 

Grato! vou novamente deixar aqui, as duas paginas com os códigos.

 

index.php (pagina de login) 

 

<?php 
require_once 'logincadastro/usuarios.php';
$u = new Usuario();
?>

<html lang="pt-br">
<head>
	<meta charset="utf-8"/>
	<link rel="shortcut icon" href="img/rc.png">
	<title>Login WebSite</title>
	<link rel="stylesheet" href="CSS/estilo.css">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width">
	<meta name="viewport" content="width=320">
	<meta name="viewport" content="width=device-width">
</head>
<body>

<!-- Animação de fundo!-->
<canvas id="canvas"></canvas>
<div class="js" style="position:absolute;top:-20px;left: 455px;">
	<script>
	D=document;d=D.body.style;d.margin=0;d.overflow="hidden";c=window,d=c.innerWidth,e=c.innerHeight,g=D.body.children[0],i=d/2,j=e/2;g.width=d;g.height=e;k=g.getContext("2d");k.globalAlpha=0.7;l=Math,m=l.random,n=l.sin,o=l.floor,p=10,q=[],r=0,s=0.1,V=500,W=190,Q=0.3;function E(n,f){g.addEventListener(n,f,!1);}E("mousemove",function(a){i=a.clientX;j=a.clientY});function t(a){var f=0;if(a.detail) f=-a.detail/3;else f=a.wheelDelta/120;if(f>0&&s<1||f<0&&s+f/25>0.1)s+=f/25}E("DOMMouseScroll",t);E("mousewheel",t);function u(a){a.x=(m()*d-d*0.5)*p;a.y=(m()*e-e*0.5)*p;a.a=p;a.b=0;a.c=0}for(var v=0,w;v<V;v++){w={};u(w);q.push(w)}setInterval('k.fillStyle="#000";k.fillRect(0,0,d,e);for(a=i-d/2+d/2,f=j-e/2+e/2,h=0;h<V;h++){b=q[h],x=b.x/b.a,y=b.y/b.a,z=1/b.a*5+1,A=n(Q*h+r)*64+W,B=n(Q*h+2+r)*64+W,C=n(Q*h+4+r)*64+W;if(b.b!=0){k.strokeStyle="rgb("+o(A)+","+o(B)+","+o(C)+")";k.lineWidth=z;k.beginPath();k.moveTo(x+a,y+f);k.lineTo(b.b+a,b.c+f);k.stroke()}b.b=x;b.c=y;b.a-=s;if(b.a<s||b.b>d||b.c>e)u(b)}r+=0.1;',25);
	</script>


<!-- Animação de fundo!-->

<!-- login no sistema!-->
  <div id="corpo-form">	
	<div class="moldura-dois">

		<center><img class="img-circle" class="mouduraimg" src="../img/admin/pic02.jpg"></center>
		<center> <img src="img/logo.png" alt=""></center>
		<h1 style="color: #acf40d" >Login</h1>
		
		<form method="POST">
			<input type="email" placeholder="E-mail" name="email" style="color: #FAFAFA">
			<input type="password" placeholder="Senha" name="senha" style="color: #FAFAFA">
			<input type="submit" value="Entrar" style="color: #FAFAFA">
			<a href="https:///cadastrar.php"><strong style="color: #acf40d">Cadastre-se! Para ter Acesso.</strong></a>
			<a href="https://t/adminlogin/VersoesdoSistema.php"><strong style="color: #acf40d" >Versão das Atualizações</strong></a>
			<a href="https://rcclariceserver.ddns.net/contato/form_contato.php"><strong style="color: #acf40d" >Enviar Mensagem ao Administrador</strong></a>

			<a data-toggle="modal" data-target="#myModal" style="color: white; cursor: pointer;">Termo de uso</a>

			<div>
			<strong>
		    <a href="https:///recuperarsenha/perdipassword.php" style="color: #FF0066;"> Esqueceu a senha? vou lhe ajudar !!!</a>
            </strong></div>
        </form>

<?php
if(isset($_POST['email']))
{
	$email = addslashes($_POST['email']);
	$senha = addslashes($_POST['senha']);
	
	if(!empty($email) && !empty($senha))
	{
		$u->conectar("login_no_sistema","localhost","root","");
		if($u->msgErro == "")
		{
			if($u->logar($email,$senha))
			{
				header("location: https://rcclariceserver.ddns.net/loading.php"); esse(url redereciona se positivo o login+senha)
			}
			else
			{
				?>
				<div class="msg-erro">
					Dados Incorretos!
				</div>
				<?php
			}
		}
		else
		{
			?>
			<div class="msg-erro">
				<?php echo "Erro: ".$u->msgErro; ?>
			</div>
			<?php
		}
	}else
	{
		?>
		<div class="msg-erro">
			Preencha os campos!
		</div>
		<?php
	}
}
?>
<!-- login no sistema!-->
      ................. html> abaixo

 e essa a index.html (pagina a qual entra apos  login.)

 

<html class="no-js">

	<head>
		<meta charset="utf-8"/>
		<link rel="shortcut icon" href="img/rc.png" />
		<title>RC Clarice</title>
		
		 
		<!--[if lt IE 9]>
			<script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->
		<link rel="stylesheet" media="all" href="css/style.css"/>
		<meta name="viewport" content="width=device-width, initial-scale=1"/>
		<!-- Adding "maximum-scale=1" fixes the Mobile Safari auto-zoom bug: https://filamentgroup.com/examples/iosScaleBug/ -->
      
      ................ Cont. da pagina sem php .
				

 

 

 

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!