Ver Mensaje Individual
  #11 (permalink)  
Antiguo 14/11/2010, 15:19
acidlake
 
Fecha de Ingreso: noviembre-2010
Ubicación: /home/RD/Villa_Altagracia
Mensajes: 18
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: ayuda a hacer mas seguro mi login

podrias agregarle otro campo a la base de datos, en el cual pudieras ver si el usurio esta activo o no en la base de datos aca te dejo un ejemplo.

aca el formulario
Código HTML:
Ver original
  1. <p>
  2.  
  3.                     <cite><q><?php if(isset($error)){ echo '            <p>' . $error . '</p>' . "\n";}?></q></cite>
  4.  
  5.         <form method="post" action="webmaster-login.html" id="frmcontact">
  6.  
  7.             <input type="hidden" name="_submit_check" value="1"/>
  8.  
  9.             <div>
  10.  
  11.                 <label for="txtname">Username:</label> <input type="text" name="username" class="textboxcontact" id="username" />
  12.  
  13.                 <br />
  14.  
  15.                 <label for="txtemail">Password:</label> <input name="password" type="password" class="textboxcontact" id="password" size="40" />
  16.  
  17.                 <br />
  18.  
  19.                 <br />
  20.  
  21.                 <label></label><input type="submit" name="submitcontact" value="Entrar" class="submitcontact" />
  22.  
  23.             </div>
  24.  
  25.         </form>
  26.  
  27.                         </p>

aqui el archivo para procesar el formulario

Código PHP:
$db = new PDO('mysql:host=' $servidor ';dbname=' $bd$usuario$contrasenia);

function 
processLogin($db)
{
        
$consulta $db->prepare('SELECT * FROM admin WHERE username="'.$_POST["username"].'" AND password="'.md5($_POST['password']).'" AND active="1"');
        
$consulta->execute();
        
        foreach(
$consulta as $item)
        {

            if(
$consulta->rowCount()==1){
                if(
$item['active']==1)
                    {
                        
session_start();
                        
$_SESSION['user_id'] = $item['id'];
                        
$_SESSION['level_id'] = $item['level'];
                        
$_SESSION['logged_in'] = TRUE;
                        
header ("Location: webmaster-cpanel.html");
                    }
            }else{
            
//aca estarian los errores
            
}
        }




aca la funcion que tienes k poner para revisar que el usuario esta logeado o no


Código PHP:
function checkLogin($db,$levels)
{
    if(!
$_SESSION['logged_in'])
        {
            
$access FALSE;
        }
        else {
                
$consulta $db->prepare('SELECT level FROM admin WHERE id="'.$_SESSION['user_id'].'"');
                
$consulta->execute();
                
                
$access FALSE;
                
                foreach(
$consulta as $item)
                    {
                        if(
$item['level']==1)
                        {
                            
$access TRUE;
                        }
                    }

        }
        
        if(
$access==FALSE)
        {
            
header("Location: webmaster-entrar.html");
        }

y aqui seria para salir, logout

Código PHP:
function webmasterOut()
{
    
session_start();
    if ( 
$_SESSION['logged_in'] == TRUE )
    {        
        
session_destroy();
    }
    
header "Location: webmaster-entrar.html" );


Última edición por acidlake; 14/11/2010 a las 15:22 Razón: cambio de codigo