Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de Login


Hug

Pergunta

Fala galera, peguei um sistema de login simples aqui no script brasil e estou com duvidas de segurança

ele ate que funciona certinho, mais eu gostaria de proteger a minha pagina que esta na parte de clientes ( que é restrita ) , segue o codigo...

<?php ob_start(); ?><title>TITULO DO SEU SITE</title>
<body text="#000000" leftmargin="0" topmargin="0">
<form method="post" target="_parent">
  <table width="260" border="0" align="left" cellpadding="0" cellspacing="0">
    <tr> 
      <th width="259" colspan="2" valign="bottom" scope="col"><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Usu&aacute;rio:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 70px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="us" type="text" id="us">
        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Senha:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 60px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="se" type="password" id="se2">
        &nbsp; </font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Submit" type=image src="botao_ok.gif" width=19 height=19>
        </font></th>
    </tr>
  </table>
</form>
<?php
if (isset($_POST['us'])){
$usuario = $_POST['us'];
$senha = $_POST['se'];

if(($usuario=="teste") && ($senha=="teste")){
header("Location: teste.htm");

}elseif (($usuario=="teste3") && ($senha=="senha3")){
header("Location: teste3.htm");

}else{
header("Location: errou.htm");
}
}
?>

funciona certinho , so que a pagina esta desprotegida, se eu pega o endereço dela ela vai abri sem pedir senha ou sem falar que a senha esta invalida. como que eu posso faze pra protege a pagina???

obrigado

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

amigo faz assim.........

$SQL   = "SELECT * FROM SUA_TABELA WHERE NOME LIKE '$login'";
        $SQL   = $SQL." AND SENHA LIKE '$senha'"; 
        $query = mssql_query($SQL) or die("Erro ao executar query."); //executa a query
        $col   = mssql_num_rows($query);
        $row   = mssql_fetch_array($query);

/* aqui é aquela coisarada toda da conexão... isso c sabe fazer...........
então você testa se a consulta retornou algum dado... */
        
        if ($col==0)
         {
            ?>
            <script>
              alert("Usuário não cadastrado.");
            </script>
            <?        
        } 
        else
         {
            /*Aqui você starta uma seção e registra e toda vez q alguém quiser entrar no link direto... você vja se já tem uma seção para aquele usuário... se não tiver redireciona para a sua pagina de login.*/

                        session_start();
            session_register("iduser");
            
            $_SESSION["iduser"] = $row["CODIGO"];
              
            ?>
            
            <script>
                location.href="index.php";        
            </script>
            <?        
         }

eu particularmente criei um arquivo chamado session.php

e nele eu vejo se já tem a sessão pro usuário.. se não tiver... eu mando ele pro login...

sacou...

é mais ou menos isso... eu tambem to iniciando em PHP e já passei por esta dificuldade ai... q tu ta enfrentando.

Link para o comentário
Compartilhar em outros sites

  • 0

obrigado pelas respostas mais eu to num nivel -3 em PHP hehee.

esses codigo que você passou acima é pra fica no arquivo chamado session.php.. eu preciso joga esses codigos ..

$SQL = "SELECT * FROM SUA_TABELA WHERE NOME LIKE '$login'";
$SQL = $SQL." AND SENHA LIKE '$senha'"; 
$query = mssql_query($SQL) or die("Erro ao executar query."); //executa a query
$col = mssql_num_rows($query);
$row = mssql_fetch_array($query);

dentro do query no mysql no meu server?

dentro da minha pagina restrita eu não preciso coloca nenhum codigo?

Editado por ESerra
Inserindo as tags code em todo o tópico
Link para o comentário
Compartilhar em outros sites

  • 0
valeu galera, mais não tem como eu coloca uma simples linha de comando na minha pagina restrita, somente pra ele verifica a senha e o usuario da pessoa?

Uma simples linha poderia ser um include(), que chama um script que faz essa verificação de sessão.

As páginas que serão abertas após o login deverão ter extensão .php, para que a verificação seja possível.

Estude a lógica do sistema, como o ESerra disse. Você verá que não é muito complexo, basta dedicação.

Link para o comentário
Compartilhar em outros sites

  • 0

vamos usar cookies :P

ou se preferir sessions, fica a teu criterio..

seu código modificado:

<?php ob_start(); ?><title>TITULO DO SEU SITE</title>
<body text="#000000" leftmargin="0" topmargin="0">
<form method="post" target="_parent">
  <table width="260" border="0" align="left" cellpadding="0" cellspacing="0">
    <tr> 
      <th width="259" colspan="2" valign="bottom" scope="col"><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Usu&aacute;rio:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 70px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="us" type="text" id="us">
        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Senha:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 60px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="se" type="password" id="se2">
        &nbsp; </font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Submit" type=image src="botao_ok.gif" width=19 height=19>
        </font></th>
    </tr>
  </table>
</form>
<?php
if (isset($_POST['us'])){
$usuario = $_POST['us'];
$senha = $_POST['se'];

$expire=60*60*24*30*12;

if(($usuario=="teste") && ($senha=="teste")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
header("Location: teste.htm");

}elseif (($usuario=="teste3") && ($senha=="senha3")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
header("Location: teste3.htm");

}else{
header("Location: errou.htm");
}
}
?>
block.php
<?php
if(!$EMAIL || !$PASS){
echo"Você não esta logado.";
exit;
}
elseif($EMAIL == "teste" && $PASS == "teste"){
echo"Bem vindo teste!";
}
elseif($EMAIL == "teste3" && $PASS == "senha3"){
echo"Bem vindo teste3!";
}
else{
echo"Seu login esta incorreto!";
exit;
}
?>
sua página que será protegida:
<?php
include"block.php";
echo"<br />Seu conteudo protegido aqui!";
?>

testa ai, se tiver algum erro me fala eu não testei.. ;)

Editado por Vampyro
Link para o comentário
Compartilhar em outros sites

  • 0

em vez de $EMAIL e $PASS, use $_COOKIE["EMAIL"] e $_COOKIE["PASS"], para que o sistema não depende de register_globals, que será extinta em breve no PHP 6.

O ideal é salvar os dados num array e usar serialize() para salvar tudo num único cookie. Imagine salvar um cookie para cada dado do usuário, caso seja necessário armazenar muitas informações... ? ;)

Link para o comentário
Compartilhar em outros sites

  • 0

tenta assim então..

como o Beraldo havia dito.. o register_globals já não funciona em vários servers..

testa a página block.php assim:

block.php

<?php
$EMAIL=$_COOKIE["EMAIL"];
$PASS=$_COOKIE["PASS"];
if(!$EMAIL || !$PASS){
echo"Você não esta logado.";
exit;
}
elseif($EMAIL == "teste" && $PASS == "teste"){
echo"Bem vindo teste!";
}
elseif($EMAIL == "teste3" && $PASS == "senha3"){
echo"Bem vindo teste3!";
}
else{
echo"Seu login esta incorreto!";
exit;
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

ok.. agora eu coloquei a pagina em PHP e o codigo funcionou, mais agora ele esta dando " Você não esta logado " toda hora, mesmo colocando a senha certa

o block eu coloquei esse codigo, e o outro codigo tambem, mais os mesmos estao dando esse probleminha

<?php

if(!$EMAIL || !$PASS){

echo"Você não esta logado.";

exit;

}

elseif($EMAIL == "pagina1" && $PASS == "pagina1"){

echo"Bem vindo teste!";

}

elseif($EMAIL == "teste3" && $PASS == "senha3"){

echo"Bem vindo teste3!";

}

else{

echo"Seu login esta incorreto!";

exit;

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

observando seu código achei vários erros no form..

sua página modificada mais uma vez.. xD

<?php ob_start(); ?><title>TITULO DO SEU SITE</title>
<body text="#000000" leftmargin="0" topmargin="0">
<form method="post" action="<?php echo"$PHP_SELF"; ?>">
  <table width="260" border="0" align="left" cellpadding="0" cellspacing="0">
    <tr> 
      <th width="259" colspan="2" valign="bottom" scope="col"><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Usu&aacute;rio:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 70px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="us" type="text" id="us">
        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Senha:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 60px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="se" type="password" id="se">
        &nbsp; </font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Submit" type=image src="botao_ok.gif" width=19 height=19>
        </font></th>
    </tr>
  </table>
</form>
<?php
if (isset($_POST['us'])){
$usuario = $_POST['us'];
$senha = $_POST['se'];

$expire=60*60*24*30*12;

if(($usuario=="teste") && ($senha=="teste")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
header("Location: teste.htm");

}elseif (($usuario=="teste3") && ($senha=="senha3")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
header("Location: teste3.htm");

}else{
header("Location: errou.htm");
}
}
?>

Editado por Vampyro
Link para o comentário
Compartilhar em outros sites

  • 0

tem duas coisas no seu script que não se por que estão lá.. talvez seja isso..

seu script mais uma vez modificado.. :huh:

<title>TITULO DO SEU SITE</title>
<body text="#000000" leftmargin="0" topmargin="0">
<form method="post" action="<?php echo"$PHP_SELF"; ?>">
  <table width="260" border="0" align="left" cellpadding="0" cellspacing="0">
    <tr> 
      <th width="259" colspan="2" valign="bottom" scope="col"><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Usu&aacute;rio:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 70px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="us" type="text" id="us">
        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Senha:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 60px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="se" type="password" id="se">
        &nbsp; </font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Submit" type=image src="botao_ok.gif" width=19 height=19>
        </font></th>
    </tr>
  </table>
</form>
<?php
$usuario = $_POST['us'];
$senha = $_POST['se'];

$expire=60*60*24*30*12;

if(($usuario=="teste") && ($senha=="teste")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
header("Location: teste.htm");

}elseif (($usuario=="teste3") && ($senha=="senha3")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
header("Location: teste3.htm");

}else{
header("Location: errou.htm");
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

ixi,, agora zango td..

Warning: Cannot modify header information - headers already sent by (output started at /home/idigital/public_html/restrito/login.php:3) in /home/idigital/public_html/restrito/login.php on line 23

eu acho que o problema ta no block.php

Link para o comentário
Compartilhar em outros sites

  • 0

<?php ob_start(); ?>
<title>TITULO DO SEU SITE</title>
<body text="#000000" leftmargin="0" topmargin="0">
<form method="post" action="<?php echo"$PHP_SELF"; ?>">
  <table width="260" border="0" align="left" cellpadding="0" cellspacing="0">
    <tr> 
      <th width="259" colspan="2" valign="bottom" scope="col"><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Usu&aacute;rio:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 70px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="us" type="text" id="us">
        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Senha:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 60px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="se" type="password" id="se">
        &nbsp; </font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Submit" type=image src="botao_ok.gif" width=19 height=19>
        </font></th>
    </tr>
  </table>
</form>
<?php
$usuario = $_POST['us'];
$senha = $_POST['se'];

$expire=60*60*24*30*12;

if(($usuario=="teste") && ($senha=="teste")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
header("Location: teste.htm");

}elseif (($usuario=="teste3") && ($senha=="senha3")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
header("Location: teste3.htm");

}else{
header("Location: errou.htm");
}
?>

agora vai..

Editado por Vampyro
Link para o comentário
Compartilhar em outros sites

  • 0

sua página:

<title>TITULO DO SEU SITE</title>
<body text="#000000" leftmargin="0" topmargin="0">
<form method="post" action="<?php echo"$PHP_SELF"; ?>">
  <table width="260" border="0" align="left" cellpadding="0" cellspacing="0">
    <tr> 
      <th width="259" colspan="2" valign="bottom" scope="col"><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Usu&aacute;rio:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 70px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="us" type="text" id="us">
        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Senha:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 60px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="se" type="password" id="se">
        &nbsp; </font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Submit" type=image src="botao_ok.gif" width=19 height=19>
        </font></th>
    </tr>
  </table>
</form>
<?php
$usuario = $_POST['us'];
$senha = $_POST['se'];

$expire=60*60*24*30*12;

if($usuario=="teste" && $senha=="teste"){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
print "<script>window.location=('teste.htm')</script>";
}elseif (($usuario=="teste3") && ($senha=="senha3")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
print "<script>window.location=('teste3.htm')</script>";
}else{
print "<script>window.location=('errou.htm')</script>";
}
?>
block.php
<?php
if(!$EMAIL || !$PASS){
echo"Você não esta logado.";
exit;
}
if($EMAIL == "teste" && $PASS == "teste"){
echo"Bem vindo teste!";
}
elseif($EMAIL == "teste3" && $PASS == "senha3"){
echo"Bem vindo teste3!";
}
else{
echo"Seu login esta incorreto!";
exit;
}
?>

agora vaii! lol

Link para o comentário
Compartilhar em outros sites

  • 0

hehehe, é eu to bebado hoje só pode.. vai mais uma vez.. agora vai.. quer ver? ;)

sua página:

<title>TITULO DO SEU SITE</title>
<body text="#000000" leftmargin="0" topmargin="0">
<form method="post" action="<?php echo"$PHP_SELF"; ?>">
  <table width="260" border="0" align="left" cellpadding="0" cellspacing="0">
    <tr> 
      <th width="259" colspan="2" valign="bottom" scope="col"><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Usu&aacute;rio:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input type="hidden" name="form" value="ok"><input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 70px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="us" type="text" id="us">
        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><font size="1" face="Arial, Helvetica, sans-serif">&nbsp;Senha:</font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; WIDTH: 60px; BORDER-BOTTOM: #666666 1px solid; FONT-FAMILY: verdana; HEIGHT: 19px" name="se" type="password" id="se">
        &nbsp; </font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Submit" type=image src="botao_ok.gif" width=19 height=19>
        </font></th>
    </tr>
  </table>
</form>
<?php
$form = $_POST['form'];
if($form==ok) {
$usuario = $_POST['us'];
$senha = $_POST['se'];

$expire=60*60*24*30*12;

if($usuario=="teste" && $senha=="teste"){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
print "<script>window.location=('teste.htm')</script>";
}elseif (($usuario=="teste3") && ($senha=="senha3")){
setcookie("EMAIL","$usuario",time()+$expire,"/");
setcookie("PASS","$senha",time()+$expire,"/");
print "<script>window.location=('teste3.htm')</script>";
}else{
print "<script>window.location=('errou.htm')</script>";
}
?>
block.php
<?php
if(!$EMAIL || !$PASS){
echo"Você não esta logado.";
exit;
}
if($EMAIL == "teste" && $PASS == "teste"){
echo"Bem vindo teste!";
}
elseif($EMAIL == "teste3" && $PASS == "senha3"){
echo"Bem vindo teste3!";
}
else{
echo"Seu login esta incorreto!";
exit;
}
}
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...