Помогите защитить запрос с оператором LIKE
К примеру :
$res = mysql_query("SELECT * FROM `table` WHERE `field`LIKE '%".$string."%'");
Если ввести простую SQL Injection -> ' || 'a' = 'a', то он мне выдаст все что есть.
С использованием IRBIS фунцкии mysqlQuery, сразу скрипт останавливается и выскакиевает ошибка.
Как можно защититься? и какие функции надо использовать чтоб не получить sql injection .
П.С. Юзал поиск, но ничего конкретного не нашел, наверное плохо юзал?
Спустя 32 минуты, 41 секунда (6.05.2011 - 23:04) inpost написал(а):
mysql_real_escape_string.
Спустя 54 минуты, 33 секунды (6.05.2011 - 23:59) Nikitian написал(а):
Это чисто для like:
mysql_real_escape_string(str_replace(array('%','_'),array('\%','\_'),$string))
Спустя 9 часов, 27 минут, 20 секунд (7.05.2011 - 09:26) Michael написал(а):
$search = '\\%_';
$search = addcslashes($search, '\\');
$search = mysql_real_escape_string($search);
$search = addcslashes($search, '%_');
$query = "SELECT * from table1 WHERE field1 like '%" . $search . "%'";
кстати, forza , добро пожаловать
Спустя 1 час, 21 минута, 33 секунды (7.05.2011 - 10:48) forza написал(а):
Michael,
Не видел, но что-то подобное я сейчас сам делаю. Вот и столкнулся с такой проблемой с LIKE. Спасибо за помощь с фильтрацией данных
Не видел, но что-то подобное я сейчас сам делаю. Вот и столкнулся с такой проблемой с LIKE. Спасибо за помощь с фильтрацией данных

_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио