Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Estou querendo colocar no meu sistema uma restrição de que se o usuário erra a senha 3 vezes ele bloqueia o usuário.
Já dei uma procurada mas não achei nada.
Alguém tem algum exemplo ou sabe como fazer?
Obrigado
tenta algo do tipo: (nao sei se é o certo, mas deve dar)
$_SESSION['tentativas'] = '0';
a cada login, você adiciona um numero.
no lugar da mensagem de erro, você coloca:
$_SESSION['tentativas'] ++;
Depois, coloque acima do código que faz o login:
if($_SESSION['tentativas'] > '2') {
echo "ERRO. Foi detectado uma tentativa de Força Bruta";
exit;
Depois, quando o login for bem sucedido, use unset para destruir a sessao :D
Não tenho muita experiência, mas creio que dê certo.
Críticas, sugestões, elogios e pedradas são aceitas
Funcionou o bloquei.
Já estava na ideia do Massaki, mas fiz uma mudança e funcionou.
Pego as informações e só que antes vou na tabela onde registra a qtdade de tentativas frustadas e verifico pelo usuário e dia atual se a qtdade dele de tentativas é igual a 3.
Se for, bloqueia ele por completo, senão faz as outras validações.
Obrigado a ajuda.
Abraço e finalizo o post
Crie uma tabela no banco de dados com IP, login e data de tentativa sem sucesso. Toda vez que der errado, insira um registro no BD.
Aí faça contagem para aquele IP para a data atual antes de mostrar o formulário de login. Se for mais de 3, bloqueie o acesso.