igordata Короч под экранированием я понимал экранирование не только инфы снаружи, но и экранирование опасных символов, которые она содержит. А под фильтрацией просто удаление опасных символов%)
из строки адреса или из куки - разницы нет, откуда будет браться код. Суть в sql инъекции в том, чтобы изменить запрос к базе по своему усмотрению.
Вот это хороший фильтр для примера Код (Text): function replacer ($text) { $text=str_replace(" ",' ',$text); $text=str_replace(">",'>',$text); $text=str_replace("<",'<',$text); $text=str_replace("\"",'"',$text); $text=preg_replace("/\n\n/",'<p>',$text); $text=preg_replace("/\n/",'<br>',$text); ...
Избитая тема. Фильтруй так, как тебе надо + mysql_real_escape_string и будет тебе счастье. Например, если входят цифры 12345, и ничего больше войти не должно, то просто вырезай все цифры из принятой строки. Если нужно что бы пришло слово на латинице, причем не более 10 символов, то чекай на длинну, чекай наличие кирилицы, и наконец юзай mysql_real_escape_string Просто импровизируй по поводу этого. Однако если попадется матерый программист, вряд ли что нибудь поможет. Профи все сломают на*рен
а ты большой знаток. три ж недели уже опыту! есть intval() и (int) для таких случаев. именно кириллицы? а ежели кантонский иероглиф пришлют - то нехай будет? тут не надо импровизировать. тут всё укладывается в три пункта. какой же вы мудрый аж мороз по коже. где вы всего этого дерьма понахватались? уж не у всеблагого ли Жопова?
Господа объясните доходчиво почему function replacer ($text) не отфильтрует инпут и соответственно попадание через него вредоносного кода в БД.
Я не говорил что я знаток, просто уже сталкивался с таким траблом. Я это и имел ввиду. Я к примеру. Или пусть просто вырезает все инглиш буквы. Помогаю чем могу. Мне кажется или кто-то здесь присутствующий яро завидует господину Попову? Ой, не поймите не правильно, это конечно же не u'вы'!
Нет я не завидую попову. Просто ты сейчас ведешь себя как он - даешь советы о том, о чем не имеешь представления. Выше же описали способ обхода ваших рекомендаций. Вы что - слепые? Ну так же нельзя! Это смешно. Про зависть к попову давай уже завязывай вспоминать. Это нелепо.
Интересно, допустим я хочу заливать в базу гипер-текстовую-разметку, что же делать, как быть? И хочу, чтобы пользователи тоже так умели делать... А может быть они себе стили сами рисовать захотят и свой профиль размечать... И вообще, что вы тут фильтруете? Вы придумали новый htmlspecialchars? Ну хочу вас огорчить вы и к 1% не приблизились. =) То есть наебень фильтров, потом еще и эскейпом пройди и еще раз отфильтруй, убей нахер базу, а потом еще раз отфильтруй и убедись, что база точно умерла... По моему вам лечиться надо... Priler, Дак <матное слово> вы на форум Попова, <матное слово> вы тут забыли?
Был такой случай.Первый раз самостоятельно сделал небольшой сайтик на cmsms .Через некоторое время сайт перестал работать.Оказалось,что родной конфиг затерт,а вместо него появился другой конфиг и еще левые файлы и папки. Такой вариант мог быть от SQL-инъекции или это другое ?
от чего угодно мог быть. Доктор, мой котик сначала был весёлый, а потом сдох. От чего это может быть?
да, недавно пробовал к бд подобраться в вконташле так там хрен поймешь что откуда растет. все ссылки реврайтнутые и закрытые. пичалька,
У меня лично статично входящие данные практически всегда фильтруются так: Код (Text): if(isSet($_GET['action'])) {$action=$_GET['action'];} else {header('Location: /');} if(empty($action)) {header('Location: /');} if($action!='show_desk') {header('Location: /');}