elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Log in seguro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Log in seguro  (Leído 1,852 veces)
jalbtercero

Desconectado Desconectado

Mensajes: 80


Ver Perfil
Log in seguro
« en: 21 Mayo 2016, 13:42 pm »

Como podria hacer este login mas seguro:

Código
  1.  
  2. <center><p>
  3. <?php
  4. require("connect_db.php");
  5. $nombre = $_POST['userid'];
  6. $clave = $_POST['pswrd'];
  7. $credencial = $_POST['cred'];
  8.  
  9. $sql2=mysql_query("SELECT * FROM credencial");
  10. $sql=mysql_query("SELECT * FROM login WHERE username='$nombre'");
  11.  
  12.  
  13. if($f=mysql_fetch_array($sql)){
  14. if($clave==$f['pass']){
  15. $_SESSION["usuario"] = $nombre;
  16. header("Location: inicio.php");
  17. }else{
  18. echo '<script>alert("CONTRASEÑA INCORRECTA")</script> ';
  19.  
  20. echo "<script>location.href='log.html'</script>";
  21. }
  22. }else{
  23.  
  24. echo '<script>alert("ESTE USUARIO NO EXISTE, PORFAVOR REGISTRESE PARA PODER INGRESAR")</script> ';
  25.  
  26. echo "<script>location.href='log.html'</script>";
  27.  
  28. }
  29.  
  30.  
  31.  
  32.  
  33.  
  34. ?>
  35. </p>
  36.  
  37.  
  38.  


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Log in seguro
« Respuesta #1 en: 21 Mayo 2016, 13:51 pm »

Código
  1. $sql=mysql_query("SELECT * FROM login WHERE username='$nombre'");

Eres vulnerable a SQLi te pueden hackear la base de datos si usas ese codigo, tienes que sanitizar la variable nombre para que no puedan ejecutar comandos en el Servidor mysql...

Yo lo que hago es guardar un HASH del password con el que se registraron, y despues comparo los hash.

Tambien le quito unos cuantos caracteres al hash del principio y del final...

Código
  1. $user_pass = substr(hash("sha256",$post_mysql['pwd']),2,60);
  2. if( strcmp ($user_pass,$row['pwd']) === 0) {
  3. ...
  4. }
  5. else {
  6. //Error password incorrecto
  7. }

Y con eso evitas que si en algun momento te hackean la base de datos puedan saber la contraseña real de la persona en cuestion..


Saludos!


« Última modificación: 21 Mayo 2016, 14:21 pm por AlbertoBSD » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Alguien entra en mi PC (seguro seguro) me pueden ayudar?
Seguridad
BanKFull76 3 5,152 Último mensaje 9 Julio 2012, 16:15 pm
por Saberuneko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines