Cytat
1. Zapoznaj się z prepared statements.
Nie mam pojęcia jak mam się za to zabrać czytam na php manual i nie wiem jak do tego podejść jak by ktoś mógł podać jakiś przykład albo w skrócie o tym opowiedzieć.
Cytat
2. Hasło możesz sprawdzić na poziomie bazy danych, nie musisz pobierać danych użytkownika.
Poprawiłem by hasło sprawdzało na poziomie bazy danych
try {
$connect = @new mysqli($host, $db_user, $db_password, $db_name);
if ($connect->connect_errno) {
throw @new Exception($connect->error);
} else {
$login = $_POST['login'];
$login = filter_var($login, FILTER_SANITIZE_STRING);
$password = $_POST['password'];
$password = hash('sha512', $password);
if (!$result = $connect->query(sprintf("SELECT * FROM users WHERE login LIKE '%s' AND password LIKE '%s'", mysqli_real_escape_string($connect, $login),
mysqli_real_escape_string($connect, $password)))) {
throw @new Exception($connect->error);
} else {
$how_much_users = $result->num_rows;
if ($how_much_users == 1) {
echo "udalo Ci sie zalogowac"; } else {
echo "bledne dane logowania"; }
}
}
} catch(Exception $error) {
}