2010-01-21 2 views
1

Я не знаю много о SQL-инъекции.Какой лучший способ предотвратить SQL-инъекцию в mysql

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

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

Upto здесь я знаю, что addlashes используется, чтобы предотвратить SQL-инъекцию в mysql, используя php.

, когда он создает проблему при поиске данных из базы данных. проблема, которую я описал здесь. Search problem in mysql query

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

Благодаря

Авинаш

+0

Как и http://stackoverflow.com/questions/1973/what-is-the-best-way-to-avoid-sql-injection-attacks – Rachel

ответ

5

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

2

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

1

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

Смежные вопросы