ehs171 0 Denunciar post Postado Junho 16, 2009 Bom dia pessoal, seguinte tava querendo fazer um bloqueio de login por 30 minutos após a pesso erra tres vezes a senha mas nao sei como fazer... penssei em fazer por session ou com uma tabela no banco de dados... na minha tabela de login eu tenho um campo q grava a data e o ip do ultimo acesso... este bloqueio eu faço pelo login pou pelo ip? tabela de usuarios create table `usuario`( `cd_pessoa` int not null, `login` varchar(20) not null unique, `senha` varchar(20) not null, `nivel` char(1) not null, `status` char(1) not null, constraint `fk_usuario_pessoa` foreign key (`cd_pessoa`) references pessoa(`cd_pessoa`), constraint `pk_usuario` primary key (`cd_pessoa`) ) engine = innodb; alguma dica? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Junho 16, 2009 intranet ou internet ? Compartilhar este post Link para o post Compartilhar em outros sites
Daniel o rei 14 Denunciar post Postado Junho 16, 2009 para pegar o ip: $_SERVER["REMOTE_ADDR"]; Se eu fosse tu usaria cookies. Compartilhar este post Link para o post Compartilhar em outros sites
DragonBR 0 Denunciar post Postado Junho 16, 2009 os cookies é muito facil bular... O melhor seria um campo no banco de dados. Poderia ate fazer um bloqueio de IP + usuario. Compartilhar este post Link para o post Compartilhar em outros sites
Smr 0 Denunciar post Postado Junho 16, 2009 Faz o bloqueio com sessões, por que se o usuário estiver em algum lugar que tenha ip fixo ai ela nunca mais vai poder usar, por exemplo numa intranet. xD Com cookies nem adianta porque se o usuário estiver usando o firefox, com um simples atalho -> Ctrl + Shift + Delete, ja da pra exclui tudo os cookies (em qualquer outro navegador é façil excluir também). O esquema seria o seguinte, a cada tentativa de entrar no sistema se o usuário não existir seria incrementado em uma variável de sessão, quando essa variável tiver o valor 3 ou mais apareceria uma mensagem falando que o computador foi bloquado. Compartilhar este post Link para o post Compartilhar em outros sites
ehs171 0 Denunciar post Postado Junho 16, 2009 hinom, tem uma parte extranet e outra intranet...tenho as duas....e os dois fazen acesso com login e senha Compartilhar este post Link para o post Compartilhar em outros sites
ehs171 0 Denunciar post Postado Junho 16, 2009 Smr, entao voce diz o seguinte: quando a pessoa tentar logar e nao for sucedido eu crio uma varialver de seção com o ip dela e o numero de tentativa... ai tipo a proximo q ele tenta loga eu procuro a sessao pelo ip e vejo se tentativa>3 e a data atual for hoje eu inativo o usuario?? seria isso??? Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Junho 16, 2009 Você pode criar uma tabela retries e uma de liberação (talvez realeaseAt?), nas condições de login, no else de falha (normalmente), você incrementa a tabela retries e, a chamada releaseAt, atualiza com a hora atual acrescida de 30 minutos (1800 segundos). Agora, antes dessa etapa (porém já com as tabelas) você consulta a tabela retries. Se tiver diferente de zero (já errou alguma vez), consulta a tabela de liberação e verifica se o valor presente é maior que o tempo corrente, também em segundos. Assim, não precisa depender de sessões ou cookies. É bem seguro. P.S.: Não liga que a cronologia da resposta esteja invertida.O frio tá congelando os neurônios aqui... Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Junho 16, 2009 Não faça com cookies pelo amor de deus rs. Compartilhar este post Link para o post Compartilhar em outros sites
ehs171 0 Denunciar post Postado Junho 16, 2009 Boa noite Imaggens, deixa eu ver se entendi: voce fala de eu fazer uam tabela: retries(cd_retrie, cd_login, ip) e outra: realeaseAt(cd_realeaseAt, cd_hora, cd_retries, cd_login) ai quando eu fizer o login eu consulto a tabela de retries, se ele o ip e o login contiver nela eu verifico a tabela de realease e vejo se a hora e maior q a hora atual, se for eu bloqueio o login, se nao libero o acesso...certo?? e quando o usuario errar o login, eueu gravo um registro na tabela de retries, e outro na tabela de realeaseat com a hora acrescida de 30 minutos...isso? desculpe a ignorancia.. :unsure: Compartilhar este post Link para o post Compartilhar em outros sites
Smr 0 Denunciar post Postado Junho 17, 2009 Eaew, eu tava procurando um sistema que um cara fez aqui no forum, ele tem isso que eu ti falei segue -> Formulario de login com ajax+php, isso ae :D. Compartilhar este post Link para o post Compartilhar em outros sites