Jump to content


Photo

Como Mostrar Captcha Só Depois De Algumas Tentativas De Login?


  • Faça o login para participar
3 replies to this topic

#1 Diego Velox

Diego Velox

    Turista

  • Usuários
  • 37 posts
  • Sexo:Masculino
  • Localidade:Esmeraldas - Minas Gerais, Brasil

Posted 26/01/2012, 15:14

Seguinte, fiz uma página de login MAS assim que entra nessa página de login já mostra o captcha... sei que isso é chato para um usuário que já é cadastrado no site, queria que o captcha aparecece só quando o usuário errar 3 vezes, ou seja, só na quarta tentativa... não tenho muitas noções de programação, como faria isso? Via cookies ou ip ou os dois ou até mesmo existe outra forma?

#2 rafael-tdc

rafael-tdc

    Turista

  • Usuários
  • 25 posts
  • Sexo:Masculino

Posted 26/01/2012, 15:52

Cria uma variável na sessão:

session_start();
$_SESSION['tentativas'] = 0;

Quando a pessoa inserir o usuário/senha errado,

$_SESSION['tentativas'] ++;

Dai vc faz 1 if

if($_SESSION['tentativas'] >= 3){
   CAPTCHA HERE;
}

A lógica é essa

Edição feita por: rafael-tdc, 26/01/2012, 15:54.


#3 Diego Velox

Diego Velox

    Turista

  • Usuários
  • 37 posts
  • Sexo:Masculino
  • Localidade:Esmeraldas - Minas Gerais, Brasil

Posted 26/01/2012, 20:31

Cria uma variável na sessão:

session_start();
$_SESSION['tentativas'] = 0;

Quando a pessoa inserir o usuário/senha errado,

$_SESSION['tentativas'] ++;

Dai vc faz 1 if

if($_SESSION['tentativas'] >= 3){
   CAPTCHA HERE;
}

A lógica é essa


Cara já ajudou muito, esse é usado no lado do form certo? Mas e do lado do captcha? Preciso destruir a sessão? Se sim em qual lado? Desculpa a qtde de perguntas sou noob mesmo

#4 rafael-tdc

rafael-tdc

    Turista

  • Usuários
  • 25 posts
  • Sexo:Masculino

Posted 27/01/2012, 07:53

Depende,

para logar é como?

tem uma página

>>login.php
se loga > paginasucesso.php
se errado > errologin.php (tentativa +1)

no "errologin.php" vai ter depois da senha:

Usuario: <input type="text" name="usuario" />
Senha:   <input type="password" name="senha" />

<?php if($_SESSION['tentativas'] >= 3){
    echo "CAPTCHA";
}
?>

ve se funfa ae




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq