мой сайт имеет команду PHP:Почему мой запрос не работает?
mysql_query("SELECT * FROM users WHERE id=" . $_GET["id"]) or die(mysql_error());
Когда я ввожу URL-адрес
http://example.com/index.php?id=1;%20UPDATE%20users%20SET%20password=123%20WHERE%20id=1
Я получаю следующую ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE users SET password=abc WHERE id=1' at line 1
Но в phpmyamin запрос выполняется успешно. Что здесь не так? Почему он не выполняется в браузере?
Ум, вы пытаетесь SQL-инъектировать свой собственный запрос? Это безумно безопасно. – Yahel
@yc: Наверное, как эксперимент или для ударов – BoltClock
Я написал этот сайт еще двум разработчикам, и один из них допустил эту ошибку. Я хочу написать ему письмо с примером атаки нападающего, которое может подделать, и хочу, чтобы этот пример был больше, чем просто «1 AND 1 = 0 UNION SELECT ...». Он новичок, и будет хорошо продемонстрировать ему, насколько серьезен этот недостаток. – Poma