[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита от sql-инъекции через поиск
IPnex
Приветствую!
Подскажите пожалуйста методы защиты от sql-инъекций через оператор LIKE. Т.к. если я правильно понимаю, функция mysql_real_escape_string здесь не помощник?



Спустя 12 минут, 13 секунд (28.12.2011 - 11:12) Placido написал(а):
Почему не помощник? Помощник.

Спустя 8 минут, 52 секунды (28.12.2011 - 11:21) IPnex написал(а):
Цитата (Placido @ 28.12.2011 - 11:12)
Почему не помощник? Помощник.
Цитата
mysql_real_escape_string не экранирует % и _, поэтому не стоит ее использовать в паре с LIKE

Спустя 2 минуты, 24 секунды (28.12.2011 - 11:23) Гость_Winston написал(а):
Вот так
'...LIKE '%" . addcslashes(mysql_real_escape_string($search), '%_\\\'') . "%'....'

Это и будет защита от инъекции и будет корректно происходить поиск символов которые в SQL считаются специальными.

Спустя 15 минут, 51 секунда (28.12.2011 - 11:39) IPnex написал(а):
Гость_Winston спасибо!

Спустя 15 дней, 23 часа, 42 минуты, 12 секунд (14.01.2012 - 11:21) Семён написал(а):
Не могли бы показать как в практике применяется инъекция через LIKE без экранирования слэшей?
'%'.mysql_real_escape_string($var).'%'

Спустя 34 минуты, 55 секунд (14.01.2012 - 11:56) inpost написал(а):
Глупости всё это, просто будет не та строка найдена, и всё. Никаких уязвимостей, человек использует поиск, а возможность в поиск использовать _% - только лишь расширение функционала самого поиска. Поэтому, если есть желание сказать, что ваш поиск стал ещё круче, просто укажите, что он поддерживает эти 2 символа.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.