Хаохэппи
http://blog.csdn.net/Haohappy2004
Атака с помощью SQL-инъекций — наиболее распространенный метод, используемый хакерами для атак на веб-сайты. Если ваш сайт не использует строгую проверку ввода данных пользователем, он очень уязвим для атак с использованием SQL-инъекций. Атаки с помощью SQL-инъекций обычно реализуются путем отправки неверных данных или операторов запроса в базу данных сайта, что может привести к раскрытию, изменению или удалению записей в базе данных. Давайте поговорим о том, как реализуются атаки SQL-инъекции и как их предотвратить.
Посмотрите на этот пример:
// предполагаемый ввод
$name = "ilia'; УДАЛИТЬ ИЗ пользователей;";
mysql_query("SELECT * FROM пользователей WHERE name='{$name}'");
Очевидно, что последняя команда, выполняемая базой данных:
SELECT * FROMusers WHERE name=ilia DELETE FROMusers;
Это имело катастрофические последствия для базы данных – все записи были удалены.
Но если вы используете базу данных MySQL, то, к счастью, функция mysql_query() не позволяет вам напрямую выполнять такие операции (несколько операторных операций не могут быть выполнены в одной строке), поэтому вы можете быть спокойны. Если вы используете базу данных SQLite или PostgreSQL и поддерживает такие операторы, вас ждет катастрофа.