Un poco de codigo

Programacion 27 de Septiembre de 2008 | 7 Comments

Estas leyendo el articulo Un poco de codigo.
Publicado el 27/09/2008
Tambien pueden interesarte estos articulos:

El humor en la programacion
Basta de registros innecesarios
Peazip compresor GZ portable
Como mudar de hosting, y dominio, Wordpress
Rectifico lo anterior, mi FrameWork sera CodeIgniter

Quiero compartir con ustedes un poco de código.

<?

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.”);
require_once(“amigos.”);

}
else {}
}
else {
if(!isset($_POST['usr']) || !isset($_POST['pass']))
{
require_once(“invitado.”);
}
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.”);
require_once(“amigos.”);
}

}
}
?>

¿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?

Posts relacionados

Tags: ,

7 Comentarios en “Un poco de codigo”

    Paginas:

  1. Joako9205 dice:

    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.

  2. joacovidal dice:

    interesante, simple y aparentemente favil de aplicar..

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

  3. Ferticidio dice:

    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

  4. joacovidal dice:

    buenisimo!

    si necesitas pre-alpha testers.. avisa :D

  5. Imzyos dice:

    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 ^^

  6. Ferticidio dice:

    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.

Leave a Reply

Trackbacks/Pingbacks

  1. Información Bitacoras.com…

    Si lo deseas, puedes hacer click para valorar este post en Bitacoras.com. Gracias….