Ответ уже был в посте выше, кавычку в запросе надо закрывать, после нее пихаеться SQL код! Если были бы, например, другие масивы , а не: GET POST COOKIE - то код был бы уязвим при magic_quotes_gpc=1, точнее сами переменные инициализировлаись ис других масивов. GivioN, если придумаете метод как обойти "маг. кавычки" пишыте сюда.
Ситуация скорее на 99или сколько там% безвыходная, но не на 100% про это писалось и про это можно найти на оф. сайте php
А я то думал веб-хакинг рулит И зачем тогда фильтровать переменные?!! Хотя киньте пожалуйста пару ссылок почитать про эти частные случаи
При использовании многобайтных кодировок типа BIG5. Strilo4ka: да, экранируется только GPC, невнимательно твой пост прочитал, извиняюсь.
Я имел ввиду по документации данные других масивов, не GPС, не екранируються. Если они используються в запросах, то можно експлуатировать SQL ing(ну конечно если кодер сам их не екранирует) и пофик какое значение директивы... Я считаю тема названия правильна! Укрощение - это имееться ввиду для кодера чтоб он не тупил(двойное екранирование никому не нужно) и если mg=off, то чтоб екранировал. Да, конечно, левые куски кода нафик нужны, но так наданый момент нужно! Кстати, тут нет а чем вести дискусию. Если есть обход mg именно в нужных данных, то стоило б здесь писать как правильно "укрощать". имхо
Ага, она корректно работает с многобайтными кодировками, только применять можна после установки соедниения, в противном случае возникнет ошибка уровня E_WARNING!
То есть, если ковычка будет в многобайтной кодировке, то magic_quotes_gpc=1 и addslashes её не смогут экранировать?
Иногда можна обойти, если 2-ой запрос использует даные с первого, и т.д! "2nd order Injection" _http://oxod.ru/?p=97
это как бы не новость, и ничего удивительного я не увидел, естественно что нужно фильтровать ВСЕ запросы в базу, не важно от кого они посылаются, от клиента/базы/скрипта...
Я знаю что не новость, я написал для тех кто не знает! (для меня лично тоже не новость) Думаю GivioN не знал, и другие...