Цитата в поиске joomla

Я работал с сайтом joomla и обнаружил, что кавычки создают проблемы с поиском. Одинарные кавычки печатаются с тремя обратными косыми чертами с нулевым результатом, а двойные кавычки просто обрезаются, и строка перед началом двойной кавычки сопоставляется при возврате результата.

Любая помощь, советы здесь? Кто-нибудь нашел и решил это раньше?


person Jeremy    schedule 24.11.2012    source источник


Ответы (1)


Ваша проблема возникает из-за того, что простая цитата замечается как инъекция sql, если вы измените свою 42-ю строку в com_search

if (substr($searchword, 0, 1) == '"' && substr($searchword, -1) == '"')

с участием

if (substr($searchword, 0, 1) == '"' && substr($searchword, -1) == '"')||(substr($searchword, 0, 1) == "'" && substr($searchword, -1) == "'")

попробуй и скажи мне, что он возвращает

person tarek fellah    schedule 24.11.2012
comment
Спасибо Тарек. Не могли бы вы сказать мне, о каком файле вы говорите, более конкретно? Спасибо еще раз. - person Jeremy; 25.11.2012
comment
Теперь я понимаю, что ты имеешь в виду, Тарек. Но вы предполагаете, что кавычки могут присутствовать только в начале и в конце строки, тогда как кавычки могут присутствовать где угодно, в том числе и посередине. Например, у меня может быть имя Pinus mugo 'Mughus' или Pinus mugo "Mughus". - person Jeremy; 25.11.2012
comment
Решил тем не менее, из того же controller.php, и просто str_заменив кавычки на null, если кавычки присутствуют в середине фразы. - person Jeremy; 25.11.2012
comment
Будьте осторожны, делая это, так как вы оставляете себя открытым для sql-инъекций! - person George Wilson; 26.11.2012
comment
Как открыть себя для sql-инъекций, удалив кавычки из строки для поиска? Любой пример кода? - person Jeremy; 27.11.2012