Ajuda em encontrar uma outra solução
Então, queria uma ajuda do pessoal que pudessem dar sugestões/idéias sobre como fazer algo assim de forma eficiente.
Uma das condições seria.... Por exemplo, ao falhar digitando errado no processo de login X vezes, bloquear aquela pessoa de tentar logar novamente durante um período de tempo.
Certo, mas isso é fácil, vejam uma questão que pensei.
<?php
if (isset($_COOKIE['errou']) && $_COOKIE['errou'] == 3) {
setcookie('bloqueio', true, time() + (60 * 5), '/');
} else if (isset($_COOKIE['errou'])) {
$up = $_COOKIE['errou'] += 1;
setcookie('errou', $up, time() + (60 * 2), '/');
} else {
setcookie('errou', 1, time() + (60 * 2), '/');
}
echo ("<pre>");
var_dump($_COOKIE);
No caso aqui se errou 3x um novo cookie é gerado, então no login checaria a existência desse cookie se sim não executaria o restante do código.
Beleza, funciona né.... Porém.....
Vamos supor que a pessoa configurou o navegador para não armazenar dados de navegação, ou o mesmo está em janela anônima, basta que ele fechando e abrindo o navegador para tentar descobrir senhas alheias.
Recentemente um amigo me passou um programa que ele mesmo fez ao qual faz isso: Abre o browser, acessa website e tenta logar com dados aleatórios, e armazena esses dados para não usar novamente, e fica repetindo a ação até descobrir o acesso de qualquer pessoa executando o login, foi até assustador a velocidade com que ele descobre dados de acesso! E foi por isso que me veio a preocupação de achar uma solução eficiente.
Lógico um captcha já solucionaria isso, mas francamente é muito chato obrigar o usuário a ter que ficar digitando um código para logar.
Outro caso que pensei seria armazenar no banco o IP e dados peculiares da máquina cujo teve erro ao logar. Mas isso não é eficiente, uma vez que isso não possui precisão, e o bloqueio pode acontecer com quem não tem nada haver com a história.Discussão (4)
Carregando comentários...