Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/02/2008, 04:09
layker
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 5 meses
Puntos: 0
Mejorar script de identificacion de usuarios

Hola, quiero hacer un script para la identificacion y registro de usuarios lo mas seguro posible, dejo aqui mi script de ingreso, y de registro para que opinen si le falta alguna funcion mas, si es suficiente segura.. etc. un saludo

SCRIPT DE REGISTRO
Código PHP:
// Elimina posibles espacios en blanco al principio y final de la cadena.
$user trim($_POST["user"]);
$pass trim($_POST["pass"]);
$pass2 trim($_POST["pass2"]);

// Convertir caracteres de html
$user htmlspecialchars($user);

if(empty(
$user) || empty($pass) || empty($pass2))
{
    echo 
"Por favor rellene todos los campos.";
    exit;
}
else
{
    if(
$pass <> $pass2)
    {
        echo 
"ERROR: La contraseña está escrita incorrectamente.";
        exit;
        
    }
    elseif(
strlen($pass)<4)
    {
        echo 
"La contraseña tiene que tener como mínimo 4 caracteres.";
        exit;
    }
    else
    {
        
    require 
"includes/bdconexion.php";
    
    
$query "SELECT * FROM `usuarios` WHERE name = '$user'";
    
$con mysql_query($query);
    
$num mysql_num_rows($con);
    
    
// Comprobar si el usuario esta ya registrado
    
if($num>0)
    {
        echo 
"El usuario escogido no esta disponible";
        exit;
    }
    else
    {
    
    
// Encriptar la contraseña por seguridad
    
$pass crypt($pass"semilla");
    
    
$query "insert into `usuarios` values ('$user', '$pass')";    
    
$con mysql_query($query);
    
    if(isset(
$con))
    {
        echo 
"Registro realizado correctamente";
    }
    else
    {
        echo 
"ERROR: No se pudo realizar el registro";
    }}}


ESCRIPT DE INGRESO

Código PHP:
session_start();

$user $_POST["user"];
$pass $_POST["pass"];

if(empty(
$user) || empty($pass))
{
    require 
"formulario.php";
    echo 
"ERROR: No ha rellenado correctamente los campos";
}
else
{
    require 
"includes/bdconexion.php";
    
    
// Encriptar la contraseña para hacer la consulta
    
$pass crypt($pass"semilla");
    
// Consulta a la base de datos
    
$query "SELECT count(*) FROM `usuarios` WHERE
            name = '$user' AND
            pass = '$pass'"
;


    
$res mysql_query($query);
    if(!isset(
$res))
    {
        echo 
"No se puedo llevar a cabo la comprobacion";
        exit;
    }
    

    
$count mysql_result($res,0,0);

    if (
$count>0)
    {
        
$_SESSION["user"]=$user;
        
header("location: miembros.php");
    }
    else
    {
      echo 
"<h1>Datos incorrectos</h1>";
      echo 
"No está autorizado para ver esta pagina.";
    }        


SECCION DE MIEMBROs
Código PHP:
session_start();

if(!isset(
$_SESSION["user"]))
{
    require 
"formulario.php";
}
else
{
    
echo 
"<h2>Area de miembros</h2>";
echo 
"Bienvenido ".$_SESSION["user"];