Sugerencia login

Iniciado por 0x0309, 7 Octubre 2009, 07:44 AM

0 Miembros y 1 Visitante están viendo este tema.

0x0309

Hola, estoy recién comenzando a jugar con las sesiones, quisiera recibir por favor sugerencias sobre este script para comprender bien la lógica.
Edito: tenía un problema, pero edito, ahora me gustaría recibir sugerencias sobre cómo mejorar el script.


Le he añadido protección básica contra fijación de sesiones y cross site request forgeries.

Código (php) [Seleccionar]

<?php

session_start
();


if (!isset(
$_SESSION['logeado']))
{
if ($_POST['user'] == 'carlos' && $_POST['password'] == 'entrar')
{
session_regenerate_id();
$_SESSION['logeado'] = true;
$_SESSION['token'] = md5(uniqid(rand(), TRUE));
}
} else if (
$_POST['logout'])
{
if (isset($_SESSION['token']) &&
        
$_POST['token'] == $_SESSION['token'])
    
{
      
$_SESSION = array();
   
session_destroy();
    
}

}

if (
$_SESSION['logeado'] == true)
{
   
echo 'Contenido exlusivo' '<br />';
}


?>



<html>

<body>

<?php

if ($_SESSION['logeado'] == false)
{
?>

   <form method='POST' action='login.php'>
   User:
    <input name="user" type="text" maxlength="50" size="20" />
   Password:
    <input name="password" type="text" maxlength="50" size="20" />
    <input name="login" type="submit" value="Login" />
   </form>
   
<?php 
} else
{
?>

   
   <form method='POST' action='login.php'>
    <input name="token" type="hidden" value="<?php echo $_SESSION['token']; ?>" />
    <input name="logout" type="submit" value="Logout" />
   </form>

<?php
}
?>

   
</body>
   
</html>


GiVeN

Podrías tener el nombre de usuario y eso en una DB, asi podrias hacer que se registren en tu sitio, o no solo CARLOS entre ahi.
Saludos.