Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/06/2011, 11:49
gonzaloaedo
 
Fecha de Ingreso: marzo-2011
Mensajes: 31
Antigüedad: 13 años, 1 mes
Puntos: 1
Registro de usuarios con PHP y seguridad HASH

Hola usuarios
resulta que estoy trabajando en un formulario de registro de usuario con php, lo bueno es que queda registrad en la base de datos, pero no sé cómo hacer para que quede encriptado la contraseña con el famoso hash o sha1 o como sea que se llame, como soy nuevo en esto y no soy programador e estado haciendo esto con ensayo y error y ya me duele la cabeza hace varios días otra cosa tambien es que cuando lo subo no se ve el formulario en el browser (mozilla firefox) les dejo mi trabajo y vean en que estoy fallando, les agradeceré montones su ayuda.

Código PHP:
Ver original
  1. <?php
  2.  
  3. mysql_connect('localhost','XXXXXXXX','XXXXXXXX')or die ('Ha fallado la conexión: '.mysql_error());
  4. mysql_select_db("XXXXXXXX")or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  5. function mostrar(){
  6. echo'<form action="registrar_sha1.php" method="post" name="1">
  7. Usuario (max 20):
  8.  <input type="text" name="username" size="20" maxlength="20" /><br />
  9. Password (max 10):
  10. <input type="password" name="password" size="10" maxlength="10" />
  11. Confirma: <input type="password" name="password2" size="10" maxlength="10" /><br />
  12. Nombre (max 20):
  13.  <input type="text" name="nombre" size="20" maxlength="20" /><br />
  14. Apellido (max 20):
  15.  <input type="text" name="apellido" size="20" maxlength="20" /><br />  
  16. Email (max 40):
  17. <input type="text" name="email" size="20" maxlength="40" /><br />
  18. <input type="submit" onclick="return ec ();" value="Registrar" />
  19. </form>';
  20. }
  21. function mostrar1(){
  22. echo'<FORM ACTION="validar_usuario.php" METHOD="post">
  23.                   Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br />
  24.                   Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=10><br />
  25.                   <INPUT TYPE="submit" VALUE="Ingresar">
  26.                 </FORM>';
  27. }
  28. ?>
  29.  
  30. <?php
  31.  
  32. // verificamos si se han enviado ya las variables necesarias.
  33. if (isset($_POST['username']) && (isset($_POST['password']))
  34. {
  35.     $username = $_POST['username'];
  36.     $password = $_POST['password'];
  37.     $cadena = '478@€shdk%%';
  38.     $pass=$_POST['password'];
  39.     $hash=sha1 ($pass);
  40.     $password2 = $_POST['password2'];
  41.     $nombre = $_POST['nombre'];
  42.     $apellido = $_POST['apellido'];
  43.     $email = $_POST['email'];
  44.     // Hay campos en blanco
  45.     if($username==NULL||$password==NULL||$password2==NULL||$nombre==NULL||$apellido==NULL||$email==NULL) {
  46.         echo 'un campo está vacio.';
  47.     mostrar();
  48.     }else{
  49.         // ¿Coinciden las contraseñas?
  50.         if($password!=$password2) {
  51.             echo 'Las contraseñas no coinciden';
  52.             mostrar();
  53.         }else{
  54.             // Comprobamos si el nombre de usuario o la cuenta de correo ya existían
  55.             $checkuser = mysql_query('SELECT usuario FROM usuarios WHERE usuario='$username'');
  56.             $username_exist = mysql_num_rows($checkuser);
  57.             $checkemail = mysql_query('SELECT email FROM usuarios WHERE email='$email'');
  58.             $email_exist = mysql_num_rows($checkemail);
  59.             if ($email_exist>0||$username_exist>0) {
  60.                 echo 'El nombre de usuario o la cuenta de correo estan ya en uso';
  61.                 mostrar();
  62.             }else{
  63.                 $query = 'INSERT INTO usuarios (usuario, password, nombre, apellido, email, hash, fecha)
  64.                 VALUES (\''.$username.'\',\''.$password.'\',\''.$nombre.'\',\''.$apellido.'\',\''.$email.'\',\''.$hash.'\',\''.date("d-m-Y").'\')';
  65.                 mysql_query($query);
  66.                 echo 'El usuario '.$username.' ha sido registrado de manera satisfactoria.<br />';
  67.                 echo 'Ahora puede entrar ingresando su usuario y su password <br />';
  68.                 mostrar1();
  69.                 ?>
  70.                
  71.                 <?php
  72.             }
  73.         }
  74.     }
  75. }else{
  76. mostrar();
  77. }
  78. ?>