Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom galera caso alguém souber com fazer isso eu agradeceria, tipo se o usuário errar a senha dele por 5x ele vai ser bloqueado por 1h e receberá um aviso por e-mail.
ja pensei em almas ideias, mas nada concreto.
logica pura....
tipo conta quanta vezes ele tentou mas para isso teria q acertar pelomenos o usuario
c a conta for = a 5 da um check no banco colocando a hora do quinto erro
e envia o email
quando ele for logar novamente
recomece a contagem c acertar compara a hora atual com a hora d o banco c for maior q 1h pode logar caso contrario n pode
tem o problema do cara n acertar nem o usuario e nem senha
c pode fazer isso com o ip tbm
mas pra n ficar enchendo o banco de chamadas procure trabalhar tbm com um arquivo txt
;)
>
logica pura....
tipo conta quanta vezes ele tentou mas para isso teria q acertar pelomenos o usuario
c a conta for = a 5 da um check no banco colocando a hora do quinto erro
e envia o email
quando ele for logar novamente
recomece a contagem c acertar compara a hora atual com a hora d o banco c for maior q 1h pode logar caso contrario n pode
tem o problema do cara n acertar nem o usuario e nem senha
c pode fazer isso com o ip tbm
mas pra n ficar enchendo o banco de chamadas procure trabalhar tbm com um arquivo txt
;)/>
com o ip seria legal.. quanto txt eu só sei trabalhar com banco de dados ainda naos ei usar cache com txt.. =S
O mais seguro em relação a acessibilidade é identificar o cookie.
Por IP é errôneo
Imagine um usuário numa rede pública, num shopping, num metrô.. erra login x vezes e bloqueia o IP do local público. Todos os outros que tentarem logar com esse IP não conseguirão fazê-lo..
Outra coisa errônea é bloquear pelo nome do usuário.
Se um usuário mal intensionado quiser ele pode inserir um nome qulaquer e errar x vezes propositadamente para bloquear um terceiro..
>
O mais seguro em relação a acessibilidade é identificar o cookie.
Por IP é errôneo
Imagine um usuário numa rede pública, num shopping, num metrô.. erra login x vezes e bloqueia o IP do local público. Todos os outros que tentarem logar com esse IP não conseguirão fazê-lo..
Outra coisa errônea é bloquear pelo nome do usuário.
Se um usuário mal intensionado quiser ele pode inserir um nome qulaquer e errar x vezes propositadamente para bloquear um terceiro..
tem algum exemplo de algorítimo com coockie? eu ia usar o email para bloquear sendo que nao tem como cadastrar email duplicado.
Minha Opine, não seria mais fácil Incluir na tabela do usuário mais duas colunas -> tentativas, block_time
a cada erro você faz um update no usuario, quando chegar em X limit, você faz um up no block_time, tipo se for bloquear por uma hora, você faz update no block_time para time()+3600, depois no action faz a coleta das info e faz o if
if (time() <= $check["block_time"]){
echo "Seu login foi bloqueado até as ".date("H":"i":"s",$check["block_time"]);
}>
Minha Opine, não seria mais fácil Incluir na tabela do usuário mais duas colunas -> tentativas, block_time
a cada erro você faz um update no usuario, quando chegar em X limit, você faz um up no block_time, tipo se for bloquear por uma hora, você faz update no block_time para time()+3600, depois no action faz a coleta das info e faz o if
if (time() <= $check["block_time"]){
echo "Seu login foi bloqueado até as ".date("H":"i":"s",$check["block_time"]);
}
essa é a maneira q pensei em fazer.. mas como falei nao decidi ainda.. queria ver as opiniões
Pra mim, o @hinom falou tudo no post #5. Eu somente adicionaria um detalhe. O cookie é por browser, entretanto, existe uma opção de cookie cross browser utilizando Flash/swfObject do javascript. É muito interessante, pois bloqueia um único computador independente do navegador que ele utilizar.
Poderá ver o exemplo aqui:
Cross Browser Cookies with Flash
Você também poderia utilizar o plugin jQuery.Storage, assim o localStorage seria o local para cookies, e caso o navegador não possuir suporte para o localStorage (IE7), um fallback é utilizado (mas ai já não seria mais cross browser):
jQuery.Storage – Utilizando localStorage cross-browser com cookie fallback
valeu.. podem encerrar o topico
Tenta fazer um for