Contador con variable de session
Publicado por Jesus (12 intervenciones) el 14/07/2015 16:22:49
Buenos dias amigos,
estoy realizando un sistema basado en php para la defensa de la tesis para el dia viernes, en el cual el inicio de sesion tiene que haber un contador que al llegar a tres intentos fallidos de sesion bloquea el usuario, realiza lo esperado pero de forma global por ejemplo si yo tengo dos intentos fallidos y viene otro usuario y ingresa de forma fallida lo bloquea a el me gustaria que realice el contador de forma individual, es decir por usuario aqui les muestro el codigo espero me puedan ayudar.
estoy realizando un sistema basado en php para la defensa de la tesis para el dia viernes, en el cual el inicio de sesion tiene que haber un contador que al llegar a tres intentos fallidos de sesion bloquea el usuario, realiza lo esperado pero de forma global por ejemplo si yo tengo dos intentos fallidos y viene otro usuario y ingresa de forma fallida lo bloquea a el me gustaria que realice el contador de forma individual, es decir por usuario aqui les muestro el codigo espero me puedan ayudar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
session_start();
error_reporting(E_ALL ^ E_NOTICE);
include dirname(dirname(__FILE__))."/config.php";
$link=Conectarse();
$login = $_POST['login'];
$pass = $_POST['pass'];
$pass=sha1(md5($pass));
$query = sprintf("SELECT usuarios.id,
usuarios.login,
usuarios.nombreu,
usuarios.apaterno,
usuarios.amaterno,
usuarios.cedulau,
usuarios.email,
usuarios.id_nivelu,
usuarios.id_statusu
FROM usuarios WHERE usuarios.login='%s'&& usuarios.password = '%s'",
$login, $pass);
$result=mysql_query($query,$link);
$res = sprintf("SELECT login FROM usuarios WHERE login = '".$login."'");
$resultado=mysql_query($res,$link);
if(!mysql_num_rows($resultado)){
?>
<script languaje="javascript">
alert("Nombre de Usuario Incorrecto Verifique e Intente de Nuevo.");
location.href = "../login.php";
</script>
<?php
}elseif(!isset($_SESSION['intentos'])){
$_SESSION['intentos'] = 1;
}else{
$_SESSION['intentos'] = $_SESSION['intentos'] + 1;
}
?>
<script languaje="javascript">
alert("Contraseña Incorrecta\nIntento #<?php echo $_SESSION['intentos'];?> Luego de tres Intentos se bloqueara el Usuario por medidas de seguridad.");
location.href = "../login.php";
</script>
<?php
if(mysql_num_rows($result)){
if($array=mysql_fetch_array($result)){
$_SESSION["id"]= $array["id"];
$_SESSION["login"]= $array["login"];
$_SESSION["nombreu"]= $array["nombreu"];
$_SESSION["apaterno"]= $array["apaterno"];
$_SESSION["amaterno"]= $array["amaterno"];
$_SESSION["cedulau"]= $array["cedulau"];
$_SESSION["email"]= $array["email"];
$_SESSION["id_nivel"]= $array["id_nivelu"];
$_SESSION["id_status"]= $array["id_statusu"];
$id_status = $array['id_statusu'];
$query3 =sprintf("SELECT * FROM usuarios, status_usuario WHERE usuarios.id_statusu=status_usuarios.id_status AND usuarios.login = status_usuarios.id_status");
if($id_status == 2){
header("location:/cooperativa/restringido/acceso_restringido.html");
}else{
$id_nivel = $array['id_nivelu'];
$user = $array['user'];
$query2 = sprintf("SELECT * FROM usuarios,nivel WHERE usuarios.id_nivelu=nivel.id_nivel");
if($id_nivel == 1){
header("Location:/cooperativa/admin/user_admin.php");
}elseif($id_nivel == 2){
header("Location:/cooperativa/personal/user_personal.php");
}elseif($id_nivel == 3){
header("Location:/cooperativa/standar/user_standard.php");
}
}
}
}elseif($_SESSION['intentos']>=3){
$var=2;
$modif=sprintf("UPDATE usuarios SET id_statusu = '".$var."' WHERE usuarios.login='".$login."'");
$modifi=mysql_query($modif,$link);
$_SESSION['intentos'] = 0;
header("location:/cooperativa/restringido/acceso_restringido.html");
}
mysql_free_result($result);
mysql_close();
?>
Valora esta pregunta
0