Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2012, 16:21
juanmanuelk
 
Fecha de Ingreso: julio-2011
Mensajes: 38
Antigüedad: 13 años, 2 meses
Puntos: 1
Pregunta sistema de login

Hola , hice un login (simple) , que por el momento me funciona bien , pero me gustaría mejorarlo

Como se podría mejorar?

ej: en aspectos de seguridad , o haciendo que la sesion se cierre si pasa un tiempo inactivo(que nose como se hace) , etc. dejo el codigo:

Este es el form de login
Código PHP:
<?php
$error
=$_GET['error'];

if (
$error==1){
    
    
$estado'error al ingresar'
    }

?>
<div id="cont" align="center" style="font-size:20px">

<form id="form1" name="form1" method="post" action="login.php">
    <table width="256" border="1">
        <tr>
            <td width="93" bgcolor="#0099CC"><h6>Usuario:</h6></td>
            <td width="192" bgcolor="#0099CC">
                            <label for="nombre"></label>
                            <input type="text" name="usuario" id="usuario" />
            </td>
        </tr>
        <tr>
            <td bgcolor="#6699CC"><h6>Clave:</h6></td>
            <td bgcolor="#6699CC"><label for="pass"></label>
                <input type="text" name="pass" id="pass" />
            </td>
        </tr>
        <tr>
        <td colspan="2" align="center" bgcolor="#CC0033"><?php echo $estado?></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><label for="mail"></label>      <input type="submit" name="registrar" id="registrar" value="Entrar" /></td>
        </tr>
  </table>
</form>
</div>

este es el login.php

Código PHP:

include('conectar.php');
$usuario $_POST['usuario'];
$pass $_POST['pass'];
$query     "Select id, usuario From TABLA Where usuario = '$usuario' AND pass = '$pass'";


$result mysqli_query($link$query);
echo 
mysqli_error($link);

$row mysqli_fetch_object($result);
$id$row->id;
$usuario$row->usuario;

$row_cnt mysqli_num_rows($result);
// printf("El resultado tiene %d filas.\n", $row_cnt);


if($row_cnt == 1)
{
    
session_start();
    
    
$_SESSION['UserInfo'] = $row;
    
$_SESSION["usuario"] = $usuario ;
    
    
header('Location: abm.php');
}
else{

  
header('Location: ingreso.php?error=1');

 

        
?> 
Y despues tengo en el conectar.php el que determina si esta logueado

Código PHP:


function isLogged()
{
    
session_start();
    
    if(!isset(
$_SESSION['UserInfo']))
        
header('Location: ingreso.php?noestalogueado');


y por ultimo en las paginas que se necesita estar logueado sito la función

isLogged()

y muestro el usuario que esta activo con $_SESSION['usuario']


Bueno eso , si alguien me puede aportar mejoras , le estaria muy agradecido


saludos