Логин: skroob
Пароль: 12345′ OR ‘1’ = 1
Если исходный код SQL-таблицы такой, то будут проблемы:
$username = $_POST["username"]; $password = $_POST["password"]; query("SELECT * FROM users WHERE username = $username AND password = $password"); // в итоге при подстановке логина и пароля получаем: // query("SELECT * FROM users WHERE username = 'skroob' AND password = '12345' OR '1' = '1'"); // '1' = '1', поэтому вход будет произведен.
Правильный код:
$username = $_POST["username"]; $password = $_POST["password"]; query("SELECT * FROM users WHERE username = ? AND password = ?", $username, $password); // в таком случае при подстановке пароля одинарные кавычки будут отделены дробью /'/