Código PHP:
<?php
require_once("../conexion/conexion.php");
function hash_password($pass, $salt)
{
$hash = hash_hmac('SHA512', $pass, $salt);
for ($i = 0; $i < 5000; $i++)
{
$hash = hash_hmac('SHA512', $hash, $salt);
}
return $hash;
}
$nombre = $_POST["nombre"];
$email = $_POST["email"];
$user = $_POST["user"];
$pass = $_POST["pass"];
$nivel = $_POST["nivel"];
$salt = str_replace('=', '.', 123456789);
$hash = hash_password($pass, $salt);
var_dump($hash);
@mysql_query("INSERT INTO usuarios (nombre, email, user, pass, nivel) VALUES ('$nombre', '$email', '$user', '$hash', '$nivel')") ;
echo "<script type='text/javascript'>
alert('El archivo ha sido movido exitosamente.');
window.location='sistema-usuario.php';
</script>";
?>
Código PHP:
<?php
$link = mysql_connect("localhost","root","root");
mysql_select_db("latitud24_v2", $link);
/* El query valida si el usuario ingresado existe en la base de datos. Se utiliza la función htmlentities para evitar inyecciones SQL. */
$myusuario = mysql_query("SELECT user FROM usuarios
WHERE user COLLATE utf8_bin = '".htmlentities($_POST["user"])."'",$link);
$nmyusuario = mysql_num_rows($myusuario);
//Si existe el usuario, validamos también la contraseña ingresada y el estado del usuario...
if($nmyusuario != 0){
$sql = "SELECT user
FROM usuarios
WHERE user = '".htmlentities($_POST["user"])."'
and pass COLLATE utf8_bin = '".htmlentities($_POST["pass"])."'";
$myclave = mysql_query($sql,$link);
$nmyclave = mysql_num_rows($myclave);
//Si el usuario y clave ingresado son correctos (y el usuario está activo en la BD), creamos la sesión del mismo.
if($nmyclave != 0){
session_start();
//Guardamos dos variables de sesión que nos auxiliará para saber si se está o no "logueado" un usuario
$_SESSION["autentica"] = "SIP";
$_SESSION["usuarioactual"] = mysql_result($myclave,0,0); //nombre del usuario logueado.
$_SESSION["nivel"] = tipo_usuario($_POST["user"]); // Buscamos que tipo es.
if($_SESSION['nivel']=="1")
header("location:administrador.php");
else
header("location:administrador.php");
//Direccionamos a nuestra página principal del sistema.
}
else{
echo"<script>alert('La contrase\u00f1a del usuario no es correcta.');
window.location.href=\"login.php\"</script>";
}
}else{
echo"<script>alert('El usuario no existe.');window.location.href=\"login.php\"</script>";
}
function tipo_usuario($user)
{
$sql = "SELECT nivel FROM usuarios WHERE user='$user'";
$rec = mysql_query($sql);
while($row = mysql_fetch_assoc($rec))
{
$result = $row['nivel'];
}
return $result;
}
mysql_close($link);
?>