Показать сообщение отдельно

  #1  
Старый 16.01.2010, 11:52
Jokester
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Цитата:
Сообщение от [NiGHT]DarkAngel  
to YuNi|[c
Основываясь на ошибке, можно предположить, что параметр 'q' не обрамлен в одинарные кавычки в запросе ... следовательно запрос к базе можно составить и без ее использования
Например: ?q=1) union select 1,2,3,4,5/*
Эмм с чего это можно так предположить?
Просто он не закомментировал запрос и у него получается примерно вот такая фигня:

примерный запрос:
Цитата:
SELECT title FROM content WHERE User LIKE ('%$q%')
после ')
Цитата:
SELECT title FROM contentWHERE User LIKE ('%')%')
Вот и ошибка near ')'

Цитата:
Сообщение от [NiGHT]DarkAngel  
Так пройдет только без LIKE условия, если запрос будет примерно таким

Код:
mysql_query("SELECT title FROM content WHERE (LIKE %$q%)")
То /* не обрежет %) ... запрос выполнится и не вернется никакого результата... что бы обрезать %) в LIKE запросе за место /* используй #
Если запрос будет таким, он не сработает, like %$q% совсем без кавычек заюзать не получится, ну и комментарий "/*" запросто срежет %) если составить нормальный запрос:

Цитата:
SELECT title FROM content WHERE User LIKE ('%$q%')
q=1')+union+select+1/*
Цитата:
SELECT title FROM content WHERE User LIKE ('%1')+union+select+1/*%')
 
Ответить с цитированием