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

Bloquear usuário após 3 tentativas de login


Aldan Nunes

Pergunta

Bom galera eu estou querendo desenvolver uma forma que quando o usuário tentar logar no sistema 3 vezes e não estiver colocando a senha certa bloquei aquele usuário.

tipo atualiza no banco de dados o valor da minha coluna acesso de 1 para 0 pois quando faço o cadastro do usuário ele já entra com 1 (acesso).

Estou enviando a minha tela de login para que possam ver e me ajudarem a resolver este problema.

<?php
//INCLUSAO DE FUNÇÃO PARA CRIAR O LOG DE ACESSO
include("log.php");

// 01 VERIFICA SE FOI ENVIADO AS VARIÁVEIS ATRAVÉS DO POST
if(isset($_POST['login']) && $_POST['login'] != "" && $_POST['senha'] != "") {
    // CONEXÃO COM O BANCO DE DADOS
    $conect = mysql_connect("172.22.17.36", "root", "nneto1010");
    // CASO HAJA FALHA NA CONEXÃO DÁ UM ALERTA
    if (!$conect) echo '<script>alert("Falha na conexão com o bando de dados!")</script>';
    // CONECTANDO AO BANCO COLOCA AS INFORMAÇÕES NA VARIÁVEL $bd.    
    $db = mysql_select_db("secq");

    // RECEBE AS VARIÁVEIS VIA POST E TRATA O SQL INJECTION FINALIZANDO COM A CODIFICAÇÃO MD5
    $LoginPost = addslashes($_POST['login']);
    $SenhaPost = addslashes($_POST['senha']);
    $Login     = $LoginPost;
    $Senha     =  $SenhaPost;

    // VERIFICA SE EXISTE USUÁRIOS CADASTRADOS COM O LOGIN E SENHA INFORMADO
    $MySQL = "SELECT * FROM usuario WHERE idUsuario = '".$Login."' && senha = '".$Senha."' && ativo = '1'";
    $Busca = mysql_query($MySQL, $conect) or die(mysql_error());
    $Res   = mysql_fetch_assoc($Busca);
    $Cont  = mysql_num_rows($Busca);
    

    // VERIFICA SE ACHOU ALGUM USUÁRIO CADASTRADO CASO CONTRÁRIO DÁ UM ALERTA PARA O USUÁRIO
    if($Cont == 0) {
        echo '<script>alert("Login ou senha inválido ou usuário desativado")</script>';
    } elseif ($Cont == 1) {
        // CRIA AS SESSÕES DE VALIDAÇÃO DAS PAGINAS
        session_start();
        $_SESSION['NomeLogin']        = $Res['idUsuario'];
        $_SESSION['NomeUsuario']       = $Res['nome'];

        // MANDA PARA A PÁGINA DE ADMINISTRAÇÃO
        header("Location: principal.php");
        exit;
    }
}
?>

<link href="csslogin/csslogin.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    background-color: #FFF;
}
</style>

<script language="JavaScript">
/* Verifica se os campos de login e senha foram preenchidos */
function validaForm()
    {
     d = document.login;
     //Valida Telefonia
     if (d.login.value == "")
         {
        alert("Favor informar o seu login!")
        d.login.focus();
        return false;
        }
     //Valida login
     if (d.senha.value == "")
        {
        alert("Favor informar sua senha!");
        d.senha.focus();
        return false;
        }                                    
    return true;
    }
</script>

<?php
$ip = $_SERVER["REMOTE_ADDR"];
?>
<div id="topLogin">
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />

   <div id="telogin">
     <table width="100%" border="0" cellspacing="0" cellpadding="0">
       <tr>
         <td height="19" valign="top"><img name="Untitled2_r1_c1" src="../ImgLogin/Untitled-2_r1_c1.png" width="22" height="263" border="0" id="Untitled2_r1_c1" alt="" /></td>
         <td align="center" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
           <tr>
             <td colspan="2" valign="top"><img name="Untitled2_r1_c2" src="../ImgLogin/Untitled-2_r1_c2.png" width="327" height="19" border="0" id="Untitled2_r1_c2" alt="" /></td>
            </tr>
           <tr>
             <td valign="baseline"><img src="../ImgLogin/log3.jpg" width="59" height="69"></td>
             <td width="268" height="69" valign="top" background="../ImgLogin/log4.jpg" class="titulologin"><br />
              Sistema de login adMat</td>
            </tr>
           <tr>
             <td colspan="2" valign="baseline" background="../ImgLogin/logo7.jpg" height="123" align="right">
             <form id="login" name="login" method="post" action="" onSubmit="return validaForm()">
               <table width="82%" border="0" cellspacing="0" cellpadding="0">
                 <tr>
                   <td width="24%" class="logsenha">&nbsp;</td>
                   <td width="76%">&nbsp;</td>
                 </tr>
                 <tr>
                   <td class="logsenha">Usuário:</td>
                   <td>
                     <input name="login" type="text" class="formlogin" autocomplete="off" id="login" value="" size="26" align="left" /></td>
                 </tr>
                 <tr>
                   <td colspan="2" class="logsenha"><img src="../ImgCss/trans.png" width="10" height="6" /></td>
                   </tr>
                 <tr>
                   <td class="logsenha">Senha:</td>
                   <td><input name="senha" type="password" class="formlogin" id="senha" value="" size="26" align="left" /></td>
                 </tr>
                 <tr>
                   <td colspan="2" class="logsenha"><img src="../ImgCss/trans.png" width="10" height="6" /></td>
                   </tr>
                 <tr>
                   <td class="logsenha">&nbsp;</td>
                   <td><table width="88%" border="0" align="left" cellpadding="0" cellspacing="0">
                     <tr>
                       <td align="right"><input name="button" type="submit" class="formlogin" id="button" value="Enviar" /></td>
                     </tr>
                   </table></td>
                 </tr>
               </table>
             </form></td>
            </tr>
           <tr>
             <td colspan="2" valign="top" background="../ImgLogin/Untitled-2_r4_c2.png" width="327" height="52"><table width="92%" border="0" cellspacing="0" cellpadding="0">
               <tr>
                 <td class="logsenha"><?php echo "$ip "; ?></td>
                 <td class="logsenha" align="right">Sistema totalmente seguro</td>
               </tr>
             </table></td>
            </tr>
         </table></td>
         <td valign="top"><img src="../ImgLogin/Untitled-2_r1_c4.png" width="17" height="263"></td>
       </tr>
     </table>
    
    
    
  </div>
    

</div>
<div id="rodLogin">
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td colspan="2" align="right"><img src="../ImgCss/trans.png" width="20" height="10" /></td>
    </tr>
    <tr>
      <td width="39%" align="right"><div id="logprodape"></div></td>
      <td width="61%" class="logsenha"><table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><img src="../ImgCss/trans.png" width="10" height="18" /></td>
        </tr>
        <tr>
          <td class="logsenha">&nbsp;&nbsp;&nbsp;Administração de Materiais - Alusa Engenharia Ltda - COMPERJ</td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td colspan="2" align="right"><img src="../ImgCss/trans.png" width="10" height="4" /></td>
    </tr>
  </table>


</div>

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
Cara, cria um campo tentativas na sua tabela de login. Toda vida que o usuário errar, é incrementado 1 no valor e faz uma verificação para quando o valor do campo estiver maior que 3.

beleza irei implementar aqui desculpe a demora para responder estava terminando outras funções por isso não respondi. vlw abraço

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...