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

  #17  
Старый 23.07.2009, 11:08
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

1. Он не пишет "всё ок, запрос успешно выполнен" - зачем ты врешь?
2. Где ты там вообще where увидел??? Там идет

insert into lalala (`a`,`b`,`c`) VALUES ('1','who','3');

3. Ставя кавычку в значение GET-переменной func ты вызываешь ошибку sql-запроса, это есс-но, так запрос превращается в такой:

insert into lalala (`a`,`b`,`c`) VALUES ('1','who'','3');

т.е. чисто ошибка синтаксиса sql-запроса, и, при постановке твой конструкции

who',user1='user

запрос превращается в такой:

insert into lalala (`a`,`b`,`c`) VALUES ('1','who', user1='user','3');

и при подстановке

who',user='user

просходит тоже самое

что сразу вызывает уже не синтаксическую ошибку (т.е. с кавычками ты рахобрался), а нарушения между кол-вом вставляемых значений и кол-вом колонок, куда эти значения вставляются, т.к. ты вот таким диким способом сделал уже 4 параметра во вторых скобочках вместо положенных трёх (в данном примере, в реале их там просто побольше) - т.е. уж логическая ошибка, о чем оно тебе там и пишет:

Column count doesn't match value count at row 1

В таких условиях, при таком sql-запросе

insert into lalala (`a`,`b`,`c`) VALUES ('1','who', '3');

и уязвимом параметре 'who' скуля невозможна, отсекать тут нечего, при любом отсечении будет нарушение логики sql-запроса, единственное, что ты можешь сделать, это вставить своё значение в колонку `b` вместо 'who', но это ничего не даст в итоге, т.к. в реале это идет просто сохранение линка, где сейчас чел находится, т.е. просто статистика, + там magic_qutes=on

Последний раз редактировалось Pashkela; 23.07.2009 в 11:10..
 
Ответить с цитированием