Ferticidio's: El blog personal de Fernando Lescano donde escribe un monton de cosas que solo a el pueden interesarle

Un poco de codigo

Quiero compartir con ustedes un poco de código.

<?php

if (isset($_COOKIE['usr']))
{
$usr=$_COOKIE['usr'];
$pass=$_COOKIE['pass'];

$registros=mysql_query(“select * from usuarios where usr=’$usr’” ,$conexion) or
die(“Problemas en el select:”.mysql_error());
if ($reg=mysql_fetch_array($registros))
{
$idusr=$reg['idusr'];
require_once(“header.php”);
require_once(“amigos.php”);

}
else {}
}
else {
if(!isset($_POST['usr']) || !isset($_POST['pass']))
{
require_once(“invitado.php”);
}
else
{
$usr=$_POST['usr'];
$pass=md5($_POST['pass']);
$registros=mysql_query(“select * from usuarios where usr=’$usr’” ,$conexion) or
die(“Problemas en el select:”.mysql_error());
if ($reg=mysql_fetch_array($registros))
if ($reg['pass']!=$pass)
{
echo “hay un error en tu contraseña<br />”;
}
else
{
setcookie(“usr”,$usr,time()+60*60*24*28,”/”);
setcookie(“pass”,$pass,time()+60*60*24*28,”/”);
echo “Bienvenido a frinki: “,$usr.”<br />”;
$registros=mysql_query(“select * from usuarios where usr=’$usr’” ,$conexion) or
die(“Problemas en el select:”.mysql_error());
if ($reg=mysql_fetch_array($registros))
{
$idusr=$reg['idusr'];
}
else
{}
require_once(“header.php”);
require_once(“amigos.php”);
}

}
}
?>

¿Que es lo que hace este código?

Verifica si existe una COOKIE, en ella esta guardada la información de usuario

Si la cookie esta guarda sus datos en una variable y luego consulta a la base de datos para obtener otros datos. Esta consulta podría obviarse guardando esos datos también en la base de datos. Pero me pareció mas conveniente no hacerlo para darle un poco mas de seguridad. Ya que esos datos nunca van a estar a disposición del publico.

Si la  COOKIE no existe verifica si el usuario esta logueandose. Si es así. Verifica los datos. Crea la COOKIE. Y obtiene otros datos de la base de datos.

Si ninguna las cosas sucede. Asume que tiene que cargar la pagina de invitados.

¿Que opinan?


Compartelo:

  • Buenisimo, yo al logueo de usuarios lo hacia de otra forma, y ahora que tengo que reformar toda una aplicación y hacer otras, me viene perfecta esta forma …

    Voy a analizarla bien :)

    Saludos y gracias.

  • interesante, simple y aparentemente favil de aplicar..

    conta en que andas (si ya lei el otro post)

  • Bien… parece que estoy haciendo las cosas bien…
    ¿En que ando?
    Pues estoy programando para otro. Me sirve… estoy aprendiendo mucho… Lo que esoty programando es una especie de web social aderezada… No puedo contar mucho. Ya que es algo bastante novedoso.
    Creo que en un mes mas o menos ya podria haber una version pre-alpha…

    Saludos

  • buenisimo!

    si necesitas pre-alpha testers.. avisa :D

  • NOTA: mi comentario es en critica constructiva.

    1. Podrias usar extract sobre el array Cookie y ahorrarte dos lineas(tambien funciona sobre $_POST y $_GET)

    $usr=$_COOKIE['usr'];
    $pass=$_COOKIE['pass'];

    ==

    extract($_COOKIE);

    2. Tu consulta SQL es vulnerable a inyeccion de código podrias usar mysql_real_escape_string aunque depende de la version que corras en tu server.

    3. Usar contraseñas encriptadas en MD5 ya no es suficiente, hay diccionarios podrias usar una semilla para generar codigos diferentes algo así:

    $password = md5(’123asd,.-’ . $password);

    por lo demas vas muy bien ^^

  • Muy bueno lo que me decis… Sobre todo la 2 que es algo que no sabia. Esto me demuestra que hice bien postear…
    Creo que voy a seguir subiendo porciones de codigo para que vean como voy avanzando….

    Saludos.

Puedes seguir todas las respuestas a este post mediante el RSS 2.0 feed.

Trackbacks / Pingbacks