28-03-2014, 02:59
28-03-2014, 03:40
Base de dados.
Na tabela dos users, seria preciso criar um campo "tentivaLogin", a cada falha faz incrementação do valor por 1. Quando faz a verificação de password/username, se tiver errado, verifica também o número de tentativas, se for 3, envia e-mail, se tiver certo, tem de fazer um update ao campo "tentativaLogin" com o valor "0".
Quanto à parte do CAPTCHA, mostrar ou não é simples. É simplesmente um "if statement". Recomendo criar uma função para fazer verificação mais facilmente. Alto tipo:
Se mostra ou não CAPTCHA:
Isto é a lógica seguir, o programa propriamente dito tem que ser você a escrever.
Na tabela dos users, seria preciso criar um campo "tentivaLogin", a cada falha faz incrementação do valor por 1. Quando faz a verificação de password/username, se tiver errado, verifica também o número de tentativas, se for 3, envia e-mail, se tiver certo, tem de fazer um update ao campo "tentativaLogin" com o valor "0".
Quanto à parte do CAPTCHA, mostrar ou não é simples. É simplesmente um "if statement". Recomendo criar uma função para fazer verificação mais facilmente. Alto tipo:
Código:
function tentativaLogin($username)
{
meter aqui os parametros de conexão à base de dados.
fazer um query tipo "SELECT * FROM users WHERE username = '$username'";
fazer fetch e retornar o número de tentativas.
}
Se mostra ou não CAPTCHA:
Código:
if (tentativaLogin(username) == 3)
{
mostra captcha
} else {
não mostra captcha
}
Isto é a lógica seguir, o programa propriamente dito tem que ser você a escrever.
28-03-2014, 05:40
[Conteúdo deletado]
28-03-2014, 17:19
A criação de um campo na BD para as tentativas de login é completamente desnecessário a meu ver. Neste caso, acho que seria mais correto a utilização de cookies.