HTML - Problema con el login de mi web (html, php y mysql)

 
Vista:

Problema con el login de mi web (html, php y mysql)

Publicado por paraelw4r (1 intervención) el 11/05/2017 20:32:07
vale os comento mi problema y a ver si me pueden hechar una mano.

estoy aprendiendo a hacerme mi propia web y ya hice el diseño y en la pagina principal de mi web hay una zona donde te puedes loguear (o deberias poder xD) pero no lo hace.

por un lado tengo el formulario en index.html

1
2
3
4
5
6
<form method="post" action="paginas/login/entrar.php">
<input type="text" name="username" id="username" placeholder="Nombre de usuario" required>
<input type="password" name="password" id="password" placeholder="Contraseña" required>
<input type="submit" name="login" value="¡Conectarse!">
<br/><a href="">¿Has perdido tu contraseña?</a>
</form>



como ven en action lo redireccione a "entrar.php" y alli tengo esto

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
	$usuario = $_POST['username'];
	$pass = $_POST['password'];
 
	if(empty($usuario) || empty($pass)){
 
	header("Location: ../../index.html");
	exit();
}
 
	mysql_connect('localhost','root','ascent') or die("Error al conectar " . mysql_error());
	mysql_select_db('auth') or die ("Error al seleccionar la Base de datos: " . mysql_error());
 
	$result = mysql_query("SELECT * from auth where Username='$usuario' AND sha_pass_hash='$pass'");
		//    mysql_query("SELECT usuario, password FROM empresas WHERE usuario='$usuario' and password='$password'");
 
	if($row = mysql_fetch_array($result)){
	if($row['sha_pass_hash'] == $pass){
	session_start();
	$_SESSION['username'] = $usuario;
	header("Location: contenido.php");
	}else{
	header("Location: ../../index.html");
	exit();
	}
	}else{
	header("Location: ../../index.html");
	exit();
	}
?>

y en mi base de datos tengo esto

Auth(db)
account (tabla) y dento de esta:

username
sha_pass_hash

no se si algo mas esta mal pero creo que el fallo es porque la pass esta encriptada (el rollo ese del sha_pass_hash y no se bien como hacer el login correcto.

alguna ayuda?
Por cierto por si os da ideas, la web en para mi server WoW
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de [abZeroX]
Val: 100
Ha mantenido su posición en HTML (en relación al último mes)
Gráfica de HTML

Problema con el login de mi web (html, php y mysql)

Publicado por [abZeroX] (27 intervenciones) el 12/05/2017 03:57:34
Hola, el problema puede darse al momento de verificar la contraseña. En lugar de utilizar una función como sha1 para el cifrado de contraseñas te recomiendo usar en su lugar la funcion password_hash, la cual te permite crear un hash en un único sentido (irreversible). De esta manera en la DB guardas el hash y luego en el momento de realizar el login comparas el hash con la contraseña ingresada por medio de la funcion password_verify.

Te Comparto el enlace de la web oficial de php y una muy buena clase que hay en el foro que hace uso de estas funciones para crear y validar contraseñas de forma segura.

http://php.net/manual/es/function.password-hash.php
http://www.lawebdelprogramador.com/codigo/PHP/3714-Clase-para-crear-y-validar-contrasenas-seguras.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 1.144
Oro
Ha mantenido su posición en HTML (en relación al último mes)
Gráfica de HTML

Problema con el login de mi web (html, php y mysql)

Publicado por xve (1543 intervenciones) el 12/05/2017 07:45:21
En la base de datos, en el campo sha_pass_hash exactamente que tienes guardado, la contraseña tal cual la pone el usuario, y la tienes guardada codificada de alguna manera?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar