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