Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/07/2015, 08:09
xap
 
Fecha de Ingreso: julio-2014
Ubicación: caracas
Mensajes: 18
Antigüedad: 12 años, 3 meses
Puntos: 0
Contador con variable de session

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 aqui les muestro el codigo espero me puedan ayudar.
Código PHP:
<?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();
?>