Foros del Web » Programando para Internet » PHP »

Sitio web con login, es corecto? o hay algo mejor?

Estas en el tema de Sitio web con login, es corecto? o hay algo mejor? en el foro de PHP en Foros del Web. hola a todos, soy nuevo en el tema... no se mucho php y estoy entrando en el tema de Mysql. estoy tratando de hacer una ...
  #1 (permalink)  
Antiguo 21/10/2008, 16:02
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Pregunta Sitio web con login, es corecto? o hay algo mejor?

hola a todos, soy nuevo en el tema... no se mucho php y estoy entrando en el tema de Mysql.
estoy tratando de hacer una pagina, la cual tiene usuario y contraseña para poder entrar....

Lo que necesitaria es un opinion respecto a la seguridad, o si es correcto el sisitema....
es una pagina algo vieja, por lo que me dijeron....

el codigo del login y la validacion es:

Código PHP:
<?php
include('config.ini.php');
session_start(); 
if (
$_POST['username']) { 
//Comprobacion del envio del nombre de usuario y password 
$username=$_POST['username']; 
$password=$_POST['password']; 
if (
$password==NULL) { 
echo 
"La password no fue enviada"
}else{ 
$query mysql_query("SELECT nick,clave FROM usuarios WHERE nick = '$username'") or die(mysql_error()); 
$data mysql_fetch_array($query); 
if(
$data['clave'] != $password) { 
echo 
"Login incorrecto"
}else{ 
$query mysql_query("SELECT nick,clave FROM usuarios WHERE nick = '$username'") or die(mysql_error()); 
$row mysql_fetch_array($query); 
$_SESSION["s_username"] = $row['nick']; 
Header("Location: index.php");


}
?>
y en config.ini.php se encuentra lo que respecta a la conexion a la db:

Código PHP:
<?php
$dbhost
='localhost'
$dbusername='usuario'
$dbuserpass='pass'
$dbname='db'
$tabla='usuarios';
mysql_connect ($dbhost$dbusername$dbuserpass); 
mysql_select_db($dbname) or die('Cannot select database'); 
?>
despues, durante la pagina, pone como condicion, para verificar que estes logeado, para poder mostrarte el contenido:


Código PHP:
<?
    
if(isset($_SESSION['s_username'])){
    echo 
"Bienvenido  ".$_SESSION['s_username'];
    }
    else
    {
    echo 
"debe estar logeado para poder ver esta pagina.";
    }
    
?>
o tambien tiene cosas como:
Código:
<?  if(isset($_SESSION['s_username'])){ ?>

[ <a href="respuesta.php">Nuevo Tema</a> ] [ <a href="salir.php">Salir</a> ]
 
<? }else{ ?> 

[ <a href="inicio.php?id=reg">Registrar</a> ] [ <a href="inicio.php?id=log">Login</a> ]

<? } ?>

es correcto ese codigo???? sirve o es algo obsoleto????
que opinion merece?


Muchas Gracias de antemano y Suerte para todos...
  #2 (permalink)  
Antiguo 21/10/2008, 16:31
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Sitio web con login, es corecto? o hay algo mejor?

Mmmmm...

Hola, se ve bien, pero creo que el sql del ultimo else está de más, puedes obtener el nick de la variable post o del primer sql que hiciste, luego tienes que investigar un poco sobre sql injection para derle mayor seguridad, por lo demas parece que está bien...

Saludos...
  #3 (permalink)  
Antiguo 21/10/2008, 16:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 71
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Sitio web con login, es corecto? o hay algo mejor?

primero preguntate a ti mismo si la web que crearas necesita un login y q ofreceras de bueno para q el user se registre,

si haces registrarse a un user por la spuras nadie se registrara man,

no des la lata xd

yo por lo menos cuando busco info o algo si em piden registrar me voy y sigo buscando por otro lado,...

salu2}


pd: me gusta trabajar con sesiones ta bien ;)
  #4 (permalink)  
Antiguo 21/10/2008, 17:04
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Sitio web con login, es corecto? o hay algo mejor?

el codio que puse es un ejemplo.... la pagina con login, es de tipo administrativa... no para acceso de todo el publico...
la idea es que el usuario que se logea, vaya a actualizar el contenido de la pagina(admin).....

Muchas Gracias por la pronta respuesta un_Tico!!!! voy a revisar eso de sql injected....

hay alguna otra sugerencia??? o critica a este codigo?????

Muchas Gracias!!!
  #5 (permalink)  
Antiguo 21/10/2008, 22:56
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Sitio web con login, es corecto? o hay algo mejor?

Comprueba si el usuario y password son de un usuario existente en la consulta, no despues de haber recogido los datos.

SELECT nick, pass FROM usuarios WHERE nick='elnick' AND password='pass';

Reemplaza por los valores claro esta, luego de hacer alguna comprobacion.

Tambien seria bueno que encriptes la contraseña, en caso de que alguien logre tener acceso a tu base de datos, no pueda ver la contraseña del administrador en puro texto plano.
  #6 (permalink)  
Antiguo 22/10/2008, 04:37
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Sitio web con login, es corecto? o hay algo mejor?

muy buen aporte!!!,

como puedo hacer para encriptar la contrseña????
osea, por lo que se, se encripta la contraseña en la db, y encriptar la contrasena que escribe el usuario para ingresar, luego se compraran para validar..... pero, como se hace eso????

muchas gracias!!!
  #7 (permalink)  
Antiguo 22/10/2008, 04:43
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Sitio web con login, es corecto? o hay algo mejor?

Hola

usa md5() para encriptar la pass y haz la comprobacion asi mas o menos.

$data['clave'] = md5($_POST['password']); //$data['clave'] ha de estar codificada tambien el la BBDD

ten encuenta que has de encriptar tambien al ingresar en la BBDD la pass y que la pass generada por md5 tiene 32 caracteres, osea, que has de tener el campo de la BBDD donde almacenas la pass que te acepte 32 caracteres, si no, no te saldra la validacion

Un saludo

PD. y comprueba que el nick no este en uso en la BBDD como te dijeron
  #8 (permalink)  
Antiguo 22/10/2008, 13:54
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Sitio web con login, es corecto? o hay algo mejor?

barbaro... mil gracias!!!!!!!!

cualquier cosa vuelvo a consultar....

Saludos y suerte.



PS.: ..... les puse un punto karma a todas las respuestas....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:32.