Главная » Статьи » Веб » Веб-Программирование |
Статья про защиту от SQL-inj Что такое SQL-inj? Сам знаешь. Иначе бы не читал. Так что сиди и читай дальше ;) Как проводятся SQL-inj? Вбивай в гугл и ищи статьи всяких разных хакеров. Если искать не умеешь - то дальше не читай, все равно не поймешь. Как защититься? Что, нагуглил статей? Может и про защиту написано? Какие-нибудь леменги вроде Михуила Фленова. фильтровать советуют? Шли нах. Ничего, повторяю еще раз для альтернативно-одаренных: НИЧЕГО фильтровать не надо. СУБД - на то она и СУБД, а не херня какая-то, чтобы нормально любые данные принимать. Наша задача - просто правильно эти данные преподнести. Защищаться надо так(применительно к PHP и mysql): 1) Если поле в базе числовое, то: (int) (ну или intval()). Можно по модулю взять при использовании в LIMIT, но это не секурити-дырка. 2) Если текстовое, то просто mysql_real_escape_string() 3) Всякие magic quotes и подобные затычки отключены. Кто не отключил - ССЗБ(что это означает - смотрите на LOR'е) И ВСЕ! Больше ничего не надо. Ибо запрос испортить левыми данными нельзя. Повторю еще раз: НИКАКИХ ФИЛЬТРАЦИЙ. LIKE/RLIKE/AGAINST/etc - это частный случай, и рассматривается отдельно. Примера не будет. Если не понял - значит это тебе не надо. ORM Что это такое, написано здесь: http://ru.wikipedia.org/wiki/ORM Защита от SQL-inj - это побочный результат применения данной технологии. Что касательно защиты от XSS, то никаким образом к БД это не относится. Так что те, кто хотел это все объединить в 1 функцию(да к тому же и с проверкой) - идите лесом. Это кардинально разные вещи и они друг к другу не относятся. И да пребудет с вами сила(не со всеми)! | |
Просмотров: 528 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |