Sistema de senha, bloquear depois de n tentativas
02/10/2015
0
Marcio Araujo
Post mais votado
02/10/2015
Todo sistema que se preze, depois de N tentativas bloqueia a conta.
Isto evita ataques por "brute force" (força bruta).
Atualmente usa-se outras técnicas como autenticação em duas etapas, entre outros.
No caso de bloquear por N tentativas é bem simples, basta criar uma variável e ir incrementando a cada erro. Quando alcançar a quantidade (3 ou 5), bloqueia o usuário, podendo gravar um registro de log com o IP por exemplo.
Jothaz
Mais Posts
02/10/2015
Marcio Araujo
02/10/2015
Jothaz
Agora você tem de garantir que de sua parte você pelo menos seguiu todas as boas práticas de segurança.
Segue alguns links:
10-boas-praticas-para-tornar-seus-aplicativos-mais-seguros-parte-01
10-boas-praticas-para-tornar-seus-aplicativos-mais-seguros-parte-02
10-boas-praticas-para-tornar-seus-aplicativos-mais-seguros-parte-03
10-boas-praticas-para-tornar-seus-aplicativos-mais-seguros-parte-04
03/10/2015
Marcio Araujo
04/10/2015
Cleyton Caetano
Todo sistema que se preze, depois de N tentativas bloqueia a conta.
Isto evita ataques por "brute force" (força bruta).
Atualmente usa-se outras técnicas como autenticação em duas etapas, entre outros.
No caso de bloquear por N tentativas é bem simples, basta criar uma variável e ir incrementando a cada erro. Quando alcançar a quantidade (3 ou 5), bloqueia o usuário, podendo gravar um registro de log com o IP por exemplo.
Disse tudo....
04/10/2015
Marcio Araujo
04/10/2015
Cleyton Caetano
Não entendi muito a informação sobre mim kkk
Mas isso é bem simples de fazer...
Pode ser feito com uma variável incrementada, quando atingir o pico de tentativas atualiza o banco de dados, mudando o status do usuário de 1 para 0 e depois é só fazer condições na página de login para reconhecer usuários bloqueados e autorizados...
Na prática é muito mais simples do que parece...
05/10/2015
Cleyton Caetano
Mano eu até tenho o código escrito, mas o que aprendi aqui no Devmedia foi bater a cabeça e aprender, amanhã te mando uma estrutura de exemplo pra você estudar e criar a sua, meu ultra não tá aqui deixo no trabalho por isso não mando agora...
06/10/2015
Cleyton Caetano
vamos a uma demonstração
para inicio cria uma coluna na tabela de usuários com o nome status valor int define 0 para se o usuário for bloqueado e 1 para usuários autorizado.
//verifica se existe tentativas de login if(isset($_SESSION['tentativas_de_login'])){ //Verifica a quantidades de login e se for maior ou igual a 5 executa função para bloquear usuario if($_SESSION['tentativas_de_login'] >= 5){ //Chama função para bloquear usuário } } if($login){ echo "Login efetuado com sucesso"; } else { //verifica se a variável tentativas de login existe e incrementa +1 numero a ela até atingir 5 e bloquear if(isset($_SESSION['tentativas_de_login'])){ $_SESSION['tentativas_de_login'] += 1; } else{ //Se for a primeira vez criar a sessão tentativas_de_login com o valor 1 $_SESSION['tentativas_de_login'] = 1; } echo "usuário ou senha incorretos"; }
Amigão é basicamente isso, ai vai se você implementar seu código para funcionar com o meu!
06/10/2015
Cleyton Caetano
Se lembra que esse código que verifica se existe tentativas de login para poder bloquear deve ficar antes da requisição post, deve ser dos primeiros códigos da página, antes de qualquer consulta ao MySql do usuário!
06/10/2015
Cleyton Caetano
De nada mano
Isso, lembra de iniciar a session mano, senão não vai funcionar!
Clique aqui para fazer login e interagir na Comunidade :)