Доброе утро,
Ночью столкнулся с уязвимостью SQL injection,
При вводе в форму логина text' OR 1=1 # ///
Меня авторизирует без каких либо проблем, подскажите как мне пофиксить данную проблему, как меры предпринять?
<?php
session_start();
include('inc/cfg.php');
if (isset($_POST['login'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$query = $dbh->prepare("SELECT * FROM users WHERE username=:username");
$query->bindParam("username", $username, PDO::PARAM_STR);
$query->execute();
$result = $query->fetch(PDO::FETCH_ASSOC);
if (!$result) {
echo '<p class="error">Неверные пароль или имя пользователя!</p>';
} else {
if (password_verify($password, $result['password'])) {
$_SESSION["username"] = $_POST["username"];
echo '<p class="success">Поздравляем, вы прошли авторизацию!</p>';
} else {
echo '<p class="error">неверный пароль </p>';
}
}
}
?>