Fórum Contador de Tentativas em Login #474860
02/04/2014
0
Frederico Brigatte***
Curtir tópico
+ 0Posts
02/04/2014
Bruno Leandro
- a quantidade de tentativas invalidas e
- datahora do bloqueio,
ai toda vez que der o login e falhar voce incrementa a quantidade,
quando atingir um limite que voce definiu, ele atualiza a data de bloqueio, com a datahora atual
define quanto tempo ficara bloqueado por exemplo meia hora,
no momento que ele tentar logar se a datahora atual estiver entre a datahora bloqueio + 30 minutos ele da um aviso que a conta esta temporariamente bloqueada
se for para desabilitar o botao voce precisa fazer as consistencias no momento que ele sair do campo do usuario.
Gostei + 0
02/04/2014
Frederico Brigatte***
Gostei + 0
03/04/2014
Frederico Brigatte***
Gostei + 0
04/04/2014
Frederico Brigatte***
Gostei + 0
06/04/2014
Bruno Leandro
Tabela
create table usuario ( cd_usuario integer; qt_falha integer; dh_bloqueio time_stamp; ds_pass varchar(32) );
Arquivo conexao.php
<?php
$conect = mysql_connect("127.0.0.1", "root", "");
if (!$conect) die ("<h1>Falha na conexão com o Banco de Dados!</h1>");
$db = mysql_select_db("Nome_Banco");
?>
Arquivo administracao.php
<p>Login ok</p>
Arquivo Login.php
<form method="post" action="valida.php"> <label>Usuário</label> <input type="text" name="login" maxlength="50" /> <label>Senha</label> <input type="password" name="senha" maxlength="50" /> <input type="submit" value="Entrar" /> </form>
Arquivo valida.php
<?php
if ($_POST) {
include "conexao.php";
$login = trim($_POST["login"]);
$senha = trim($_POST["senha"]);
// Digitou Usuario ?
if (empty($login)) {
echo "<script>alert('Preencha o Login');</script>";
}
//Digitou a Senha?
else if (empty($senha)) {
echo "<script>alert('Preencha o campo senha');</script>";
}
else {
$sql = "select cd_usuario,ds_pass,qt_falha,dh_bloqueio,current_timestamp as dh_atual from usuario where cd_usuario = '$login'";
$resultado = mysql_query($sql);
$linha = mysql_fetch_array($resultado);
$login2 = $linha["cd_usuario"];
$senha2 = $linha["ds_pass"];
$falha2 = $linha["qt_falha"];
$bloqueio2 = $linha["dh_bloqueio"];
$dataatual2 = $linha["dh_atual"];
// usuario informado existe ?
if (empty($login2)) {
echo "<script>alert('Usuario nao existe');</script>";
// quando a tentativa for inferior a meia hora ele informa que o usuario esta bloqueado
} else {
if ((strtotime($dataatual2)-strtotime($bloqueio2)) <= 10) {
echo "<script>alert('Usuário Bloqueado');</script>";
} else {
if ($bloqueio2<>'') {
mysql_query("UPDATE usuario SET qt_falha= 0,dh_bloqueio=NULL where cd_usuario= '$login'");
$falha2 = 0;
}
// senha confere ? ou ja passou da meia hora
if ($senha != $senha2) {
if ($falha2<2) {
mysql_query("UPDATE usuario SET qt_falha= qt_falha+1 where cd_usuario= '$login'");
echo "<script>alert('Senha inválida');</script>";
} else {
mysql_query("UPDATE usuario SET qt_falha= qt_falha+1,dh_bloqueio=current_timestamp where cd_usuario= '$login'");
echo "<script>alert('Usuario bloqueado por excesso de tentativa invalida');</script>";
}
} else {
mysql_query("UPDATE usuario SET qt_falha= 0,dh_bloqueio=NULL where cd_usuario= '$login'");
header("Location: administracao.php");
}
}
}
}
}
?>
Gostei + 0
06/04/2014
Frederico Brigatte***
Gostei + 0
06/04/2014
Bruno Leandro
DE: if ((strtotime($dataatual2)-strtotime($bloqueio2)) <= 10) {
Para: if ((strtotime($dataatual2)-strtotime($bloqueio2)) <= 1800) {
1800 é 30 minutos, que é 60 segundos vezes 30
Gostei + 0
06/04/2014
Bruno Leandro
<?php echo $_SERVER["REMOTE_ADDR"]; ?>
Gostei + 0
06/04/2014
Frederico Brigatte***
Site exemplo
Ok, ai eu posso armazenar numa variável e gravar na tb, certo?
Gostei + 0
07/04/2014
Bruno Leandro
Gostei + 0
07/04/2014
Frederico Brigatte***
http://demos.jquerymobile.com/1.0a4.1/docs/pages/docs-transitions.html
Gostei + 0
28/04/2014
Frederico Brigatte***
Gostei + 0
04/05/2014
Luciano Martins
If (usuario_administrador){
inserir();
}
Gostei + 0
05/05/2014
Frederico Brigatte***
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)