Witam, napisałem skrypt logowania do strony i chciałbym żebyście wskazali mi ewentualne błędy w zabezpieczeniu tego skryptu.
<?php
if (isset($_POST['login']) && (isset($_POST['password']))) { require_once("connect.php");
mysqli_report(MYSQLI_REPORT_STRICT);
try {
$connect = new mysqli($host, $db_user, $db_password, $db_name);
if ($connect->connect_errno != 0) {
throw new Exception(mysqli_connect_errno());
} else {
$veryfication = true;
$login = $_POST['login'];
$var_login = filter_var($login, FILTER_SANITIZE_STRING);
$password = $_POST['password'];
$hash_pass = hash('sha512', $password);
$result = $connect->query("SELECT * FROM users WHERE login LIKE '$var_login'");
$how_much_user = $result->num_rows;
if ($how_much_user == 1) {
$record = $result->fetch_assoc();
$user_pass = $record['password'];
if ($hash_pass !== $user_pass) {
$veryfication = false;
}
} else {
$veryfication = false;
}
if ($veryfication == true) {
echo "Udalo Ci sie zalogowac!<br>Witaj ".$var_login."!"; } else {
echo "bledne danie logowania; }
$connect->close();
}
} catch(Exception $error) {
echo '<span style="color:red;">Błąd serwera! Przepraszamy za niedogodności. Prosimy o rejestrację w innym terminie.</span>';
echo '<br>Informacja dla dewelopera: '.$error;
}
} else {
header("Location: ../log-in");
}
?>