/
bd_procesar.php
127 lines (118 loc) · 5.54 KB
/
bd_procesar.php
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
<?php
session_start();
include_once('bd_conexion.php');
$year = $_POST['lstyear'];
$avMensaje = array();
function sText_Protect($str,$con){
$str = trim($str);
$str = htmlentities($str);
$str = preg_replace('/\s(?=\s)/', '', $str);
$str = preg_replace('/[\n\r\t]/', '', $str);
$str = $con->real_escape_string($str);
return($str);
}
if(isset($_POST['usuario']) && !empty($_POST['usuario'])){
$usuario = sText_Protect($_POST['usuario'],$cnn_mysqli);
}
else{
$avMensaje[]='Escribe el nombre del usuario';
}
if(isset($_POST['password']) && !empty($_POST['password'])){
$password = sText_Protect($_POST['password'],$cnn_mysqli);
}
else{
$avMensaje[]='Escribe la contraseña';
}
$countError = count($avMensaje);
$msg = "";
//-------------
if($countError > 0){
for($i=0;$i<$countError;$i++){
echo ucfirst($avMensaje[$i]).'<br/>';
}
}else{ //----escribio usu y pwd--
$sSql = " SELECT idusu FROM catusuarios WHERE lgnusu = '$usuario' and estatus=1 ";
$rs = $cnn_mysqli->query($sSql);
$row = $rs->fetch_row();
//$row = $rs->fetch_assoc();
$idusu = $row[0];
unset($sSql,$rs,$row);
if ($idusu>0){ //-----existe usu ---
//------------obtener numero de intentos----------
$sSql = " SELECT intentos,TIMESTAMPDIFF(MINUTE,fechaUltimoIntento,NOW()) lapso,estatus FROM catusuarios WHERE idusu = ".$idusu;
$rs = $cnn_mysqli->query($sSql);
$row = $rs->fetch_row();
$iIntentos = $row[0];
$ilapso = $row[1];
$estatus = $row[2];
unset($sSql,$rs,$row);
//-----------------
$ipermitirintento = 0;
//----------------------
if($iIntentos < 4 ){
$ipermitirintento = 1;
}else{
$ipermitirintento = 0;
if($iIntentos>9){ //---- suspender usuario
$sSql = " update catusuarios set estatus = 0 where idusu = ".$idusu;
$cnn_mysqli->query($sSql);
$msg = "Usuario suspendido.";
}else{
$iesperar = floor((pow($iIntentos,3))/12);
if( $ilapso >= $iesperar ) {
$ipermitirintento = 1;
}else $msg .= "<br> Cuenta bloqueada - [Espere $iesperar minutos para nuevo intento]";
}
}
//----------------
if($ipermitirintento == 1){
$sSql = " update catusuarios set intentos = intentos+1, fechaUltimoIntento = NOW() where idusu = ".$idusu;
$cnn_mysqli->query($sSql);
//-------------------------------
$sSql = "select * from catusuarios where idusu = $idusu AND pwdusu = md5('$password')";
$rs = $cnn_mysqli->query($sSql);
if($rs){
$row = $rs->fetch_row();
$iRows = $rs->num_rows;
}
if ($iRows>0){
//---------
$sSql = " update catusuarios set intentos = 0 where idusu = ".$idusu;
$cnn_mysqli->query($sSql);
//--------
$bd_sp = "spp".$year;
//$sSql = " SELECT idorg FROM ".$bd_sp.".relusudep WHERE idusu = ".$idusu." LIMIT 1 ";
$sSql = " SELECT idorg,dscorg FROM ".$bd_sp.".relusudep LEFT JOIN ".$bd_sp.".catestorg USING(idorg) WHERE idusu = ".$idusu." LIMIT 1 ";
$rs = $cnn_mysqli->query($sSql);
$row = $rs->fetch_row();
$iOrg = $row[0];
$sOrg = $row[1];
//---------
$_SESSION['LOGIN_STATUS'] = true;
$_SESSION['year'] = $year;
//---ORG---
$_SESSION["ORGID"] = $iOrg;
$_SESSION["ORGDSC"] = $sOrg;
$_SESSION["ORGTPO"] = " ";
//---USU---
$_SESSION['USER'] = $usuario;
$_SESSION['USERID'] = $idusu;
$_SESSION['USERTPO'] = "";
//---------
$msg = 'Autentificado';
unset($sSql,$rs,$row);
}
else{
$msg = "Datos incorrectos!!!";
if($iIntentos == 3 ) $msg .= "<br> Usted lleva 3 intentos de acceso.";
//--
if($iIntentos > 3 && $iIntentos < 10 ) $msg .= "<br> Cuenta bloqueada - [Espere $ilapso minutos para nuevo intento]";
}
}
//------------------
}else{ //--no existe usu
$msg = "No existe el usuario.";
} //--no existe usu
echo $msg;
}//----escribio usu y pwd--
?>