От http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php я получил:Нужна помощь понимание MySQL инъекции
SQL инъекция относится к акту кого-то вставляя заявление MySQL к будет работать на вашей базе данных без вашего знаний. Инъекция обычно возникает , когда вы запрашиваете у пользователя ввод, например , их имя, а вместо имени они дают вам заявление MySQL, которое вы будет бессознательно работать в вашей базе данных.
Я прочитал всю статью, но у меня все еще есть некоторые основные проблемы, которые понимают, что это такое и как это можно сделать.
В первом примере, что они на самом деле видят?
Насколько я понял, если я на самом деле эхо $ name, вы увидите все имена, потому что он всегда будет «правдой», я прав?
Другая вещь, которую я не понимаю, заключается в том, решена ли проблема с MySQL-загрузкой с помощью mysql_real_escape_string(), там должно быть больше.
Что я действительно не понимаю, так это то, что mysql_real_escape_string() создан для решения этой проблемы, почему это не делается автоматически, я имею в виду, есть ли причина, по которой вам приходится добавлять каждый раз mysql_real_escape_string(), есть случаи когда вы должны использовать его, и поэтому они не делают это автоматически?
Нет, mysql_real_escape_string() делается ** не ** для решения проблем, но для избежания кавычек. Очень важно это понимать. Но почти никто не понимает. –
@Col. Шрапнель. Я вроде как ... подумал, что я понял это сейчас. Спасибо. – Trufa
Я сомневаюсь. Представьте, что у вас есть запрос, который можно сортировать на основе пользовательского ввода, например 'SELECT FROM table ORDER BY field ', где поле вводится пользователем. Что вы будете делать? –