1
I changed the security of my site. I changed the format when saving the password sha1
for password_hash
.
With the sha1
to validate the login did this way:
if((isset($_POST['nome'])) && (isset($_POST['senha']))){
$usuario = mysqli_real_escape_string($conn, $_POST['nome']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection
$senha = mysqli_real_escape_string($conn, $_POST['senha']);
$senha = sha1($senha);
//Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário
$result_usuario = "SELECT * FROM usuarios WHERE nome = '$usuario' && senha = '$senha' && situacoe_id = '1' LIMIT 1";
$resultado_usuario = mysqli_query($conn, $result_usuario);
$resultado = mysqli_fetch_assoc($resultado_usuario);
....
....
}
But now I’m unable to validate with the format of password_hash
, I’m trying this way:
if((isset($_POST['nome'])) && (isset($_POST['senha']))){
$usuario = mysqli_real_escape_string($conn, $_POST['nome']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection
$senha = mysqli_real_escape_string($conn, $_POST['senha']);
$senha = password_verify($senha);
//Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário
$result_usuario = "SELECT * FROM usuarios WHERE nome = '$usuario' && senha = '$senha' && situacoe_id = '1' LIMIT 1";
$resultado_usuario = mysqli_query($conn, $result_usuario);
$resultado = mysqli_fetch_assoc($resultado_usuario);
....
....
}
But it does not validate. I also tried this way by changing this line $senha = password_hash($senha, PASSWORD_DEFAULT);
In order to use the password_verify you have to have saved the password using the password_hash, you did this?
– Kayo Bruno
@Kayo Bruno Yes, both on the Internet and update level is being saved using password_hash, example of a password
$2y$10$NezuGRRDGZQSExsHjtDDnO85AF3/BkqeDYFSOW3c6hNJaMg6Zbe
– Bruno