Что является лучшим способом предотвратить инъекцию SQL в MySQL - PullRequest
1 голос
/ 21 января 2010

Я не знаю много о внедрении SQL.

Я хочу знать, каков наилучший способ предотвратить внедрение SQL в MySQL?

Например, как я должен вставить данные вбаза данных, Как я должен получить их из БД, как выполнить поисковый запрос, обновить запрос в mysql.

До сих пор я знаю, что addlashes используется для предотвращения внедрения SQL в MySQL с использованием php.

при создании проблемы при поиске данных из базы данных.проблема, которую я описал здесь. Проблема поиска в запросе mysql

Не могли бы вы сообщить мне, как это предотвратить.Я слышал о mysql_real_escape_string, но не знаю, как это использовать.

Спасибо

Avinash

Ответы [ 3 ]

5 голосов
/ 21 января 2010

Как правило, лучшим способом является использование библиотеки языка, на котором вы пишете. Каждая хорошая библиотека имеет способ написания стандартных параметризованных операторов SQL, так что просто Google "$ (language_name) параметризованный SQL" и вы хорошо идти.

2 голосов
/ 21 января 2010

Трэвис совершенно прав. Вам нужно использовать язык программирования для предотвращения SQL-инъекций. Например, в Java используйте PreparedStatements для выполнения запросов SQL. Параметры могут быть указаны в подготовленных выражениях, и эти параметры не могут быть никакими другими SQL-запросами, то есть не позволяют пользователю вводить другой SQL-запрос во входные параметры. Таким образом можно избежать внедрения SQL. Это очень простой пример, и ответ зависит от используемого вами языка программирования.

1 голос
/ 21 января 2010

Если вы работаете с PHP и MySQL, я бы предложил использовать PDO для доступа к базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...