Un poco de codigo
| 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.
<?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?


Paginas:
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
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.