Olá, gostaria de saber como seria uma forma segura de bloquear o login após 3x usando sessions, e se é melhor usar sessions ou cookies pra isto ? Ou nenhum dos dois.
vlw
Forma Segura De Bloquear Login Após 3 Tentativas
Started By corvox, 08/12/2008, 18:02
6 replies to this topic
#1
Posted 08/12/2008, 18:02
#3
Posted 09/12/2008, 10:37
Mas Savior, como faço para que especificamente este $_SESSION['tentativas'] expire em 30 segundos se a tentativa chegar ao numero = 3, pois eu ja defini um tempo de 60min para os outros sessions do site.
[]'s
[]'s
Edição feita por: corvox, 09/12/2008, 10:40.
#4
Posted 09/12/2008, 12:15
grava a data/hora da primeira tentativa na session
#5
Posted 09/12/2008, 15:33
Olha como estou fazendo:
Funciona beleza, mas se ele da um REFRESH na página ele consegue continuar fazendo o login pq como o $_SESSION adiciona +1 ele fica acima de 3, eu só queria na verdade que este session durasse apenas 30segundos, tipo como se faz com um cookie ou se não tiver como em segundos fazer ele durar no min 1 minuto, como seria?
// Iniciando Session Block 3x session_start(); session_cache_expire(1); $cache_expire = session_cache_expire(); $_SESSION['seg'] = ($_SESSION['seg'] + 1); if($_SESSION['seg']==3){echo 'Já se excederam 3 tentativas, espere $cache_expire min para o próximo login. <br />Caso não lembre a senha clique em Perdi a senha!<br /><a href="/recuperar-senha/">Perdi a senha!</a>'; exit();} // ABAIXO AKI VEM CODE DO LOGIN
Funciona beleza, mas se ele da um REFRESH na página ele consegue continuar fazendo o login pq como o $_SESSION adiciona +1 ele fica acima de 3, eu só queria na verdade que este session durasse apenas 30segundos, tipo como se faz com um cookie ou se não tiver como em segundos fazer ele durar no min 1 minuto, como seria?
#6
Posted 09/12/2008, 21:22
poderia fazer um if assim:
Que eu saiba só é possivel em min mesmo um session, veja aqui no manual varias opções para usar com o ini_set http://br.php.net/ma...ni.php#ini.list
if($_SESSION['seg']>=3){ }
Que eu saiba só é possivel em min mesmo um session, veja aqui no manual varias opções para usar com o ini_set http://br.php.net/ma...ni.php#ini.list
#7
Posted 10/12/2008, 05:59
Se você quer que ele espere realmente o tempo que você indicou vai ter que gravar o IP dele no banco de dados também, pois, se ele limpar o cache ele pode tentar de novo.
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)