NO

Login Sem Banco De Dados

Por Nostradamus, 01 de jan. de 2007 em Tutoriais de Websites

script
8
3.9k
NostradamusN
01 de janeiro de 2007 às 22:09

Serão 2 arquivos, aos quais um será a interface gráfica e o outro, o sistema em si.

Dedico esse tutorial a Colex, ao qual me pediu explicação sobre o mesmo.

 

login.php

 

<?php
/*Altere aqui o nome e senha do usuario */
$senha = "321"; //senha
$nomew = "321"; //login

if ($acao == "ok" && $password == $senha && $nome == $nomew){ 
/*se a variavel $acao for igual a "ok" e a variavel $password ser igual a variavel $senha e a variavel $nome for igual a variavel $nomew ...  */

       setcookie ("Exemplo", "ok", time() + 3600,"/"); //Define o cookie 'exemplo' validando-o 

       echo "<script>window.location='adm.php'</script>"; // redireciona para o adm.php

}
else { //senao ...
?>
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div id="quadro">
<form method="post" action="" name="formulario">
<fieldset>
<legend>LOGIN</legend>

<label for="nome">Nome</label>
            <input name="nome" type="text" class="campo2" id="nome" />
<label for="password">Senha</label>
<input name="password" type="password" class="campo2" id="password" />
           <input type="hidden" name="acao" value="ok" />

           <input name="Submit" type="submit" class="botao" value="OK" />
</form>
</div>
</body>
</html>

<?
}
?>

 

protege.php

 

<?php
$logado = $_COOKIE['Exemplo']; //define a variavel $logado
if ($logado != "ok"){ //se a variavel $logado for diferente de 'ok' ...
?>

<script>
window.location = "login.php?pagina=" + document.location //re
</script>

<?php
}
if ($deslogar == "ok") //se a variavel $deslogar for igual a "ok" ...
{
setcookie ("Exemplo", "off", time() - 3600,"/");  // 'Invalida' o cookie "exemplo"
echo "<script>window.location='login.php'</script>"; //redireciona pra login.php - poderiamos usar um header em php tambem.

}
?>

 

Para deslogar é só enviar o valor "deslogar" por input hidden, como no fomulário abaixo.

 

<form action="paginaquepracisadeautenticação.php" method="get" name="form1">
   <input type="hidden" name="deslogar" value="ok">
   <input type="submit" name="enviar" value="Logout">
</form>

 

As páginas precisarão de autenticação, devem levar este include:

 

<? include "protege.php"; ?>

 

 

Para quem busca alternativas quanto a banco de dados, é isso aí.

Mas apesar disso, não é aconselhável.

Espero que não só o Colex aproveite, mas como outros mais.

 

Obrigado.

 

Post Original: FelipeMorais

Expliquei todo o conteúdo para melhor aprendizagem.

Obrigado Honux pelo toque.

Editado Janeiro 3 por Nostradamus

colexC
01 de janeiro de 2007 às 23:23

Testei e funcionou certinho

 

Obrigado, espero que ajude os outros como ajudou a mim!

 

abraços,

Colex

honuxH
02 de janeiro de 2007 às 08:56

E eu dedico esse tutorial a mais um copy e paste do Nostradamus.

Este tutorial é de FelipeMorais, usuário do fórum iEvolution.

 

Link para o post original.

 

Ahh, eu posso não entender de PHP e posso estar falando coisa errada...

Porém Nostradamus, quem não usa DB utilizar um arquivo que guarda todas as senhas seria burrice, não?

 

E este sistema é completamente 'hackiavel', já que ele pega o 'ok' do cookie, sendo que não há criptografia, código de segurança nem nada. Então pq não adicionar um cookie como home depois edita-lo para como se tivesse vindo de sua page com esse ok?

 

é triste ver você falhando novamente nostra...

GrafitiG
02 de janeiro de 2007 às 22:57

Nossa Muito boom cara...

//Grafiti

xurumelousX
03 de janeiro de 2007 às 00:08

@honux

Eh hackiável pelo cookie "ok", mas não tenho certeza se alguém consegue descobrir a senha pelo arquivo php sem obter acesso ao FTP.

 

//Tux

NostradamusN
03 de janeiro de 2007 às 00:09

@honux

Eu peguei este link apenas para ajudar o Colex que havia me pedido algo do tipo, no intuito de ajudar, desculpe se falhei.

 

Créditos adicionados.

 

E não é completamente "hackiavel", teste e comprove por si mesmo.

Ele pode não ser a melhor maneira, mas é uma alternativa.

No caso do Colex, ele não quer usar uma DB.

Editado Janeiro 3 por Nostradamus

1 ano depois...
lnsteamL
28 de julho de 2008 às 15:46

Não testei mas parece bom, fiz um parecido mas em javascript.

:thumbsupsmiley:

 

------------------------------------------------------------------------------------------------------------------------------

E eu dedico esse tutorial a mais um copy e paste do Nostradamus.

Este tutorial é de FelipeMorais, usuário do fórum iEvolution.

 

Link para o post original.

 

Ahh, eu posso não entender de PHP e posso estar falando coisa errada...

Porém Nostradamus, quem não usa DB utilizar um arquivo que guarda todas as senhas seria burrice, não?

 

E este sistema é completamente 'hackiavel', já que ele pega o 'ok' do cookie, sendo que não há criptografia, código de segurança nem nada. Então pq não adicionar um cookie como home depois edita-lo para como se tivesse vindo de sua page com esse ok?

 

é triste ver você falhando novamente nostra...

 

Só o site que criou o cookie consegue ler o mesmo. Para além disso eu acho que o cookie fica encriptado.

 

Depois o servidor protege o arquivo .php, ou seja, quem vê a página não tem acesso ao codigo em php, apenas consegue ver o resultado do script (os "print" e "echo"). Assim é impossivel ver o nome e a senha.

 

:wink:

2 meses depois...
HeNnetH
07 de setembro de 2008 às 15:25

Como é um método de autenticação, prefiro usar o Session :)

Mas ficou bom o código.

 

 

Abraços HenneT, :)