Защита от SQL инъекции - подмогните плз..
Какие символы надо удалить из добавляемой в базу строки, чтобы инъекция не получилась?
Субд- mysql. Как я понимаю- достаточно убрать точку с запятой и все виды кавычек. Но я подозреваю, что я не доконца это понимаю))) Собсно- подмогните плиз.. :) |
|
|
Ага, за ссылки спасибо.
А без использования mysql_escape? |
нужно заэкранировать обрамляющие текст кавычки, но mysql_escape еще и всякие управляющие символы экранирует (переводы строк и т.д.)
|
ahsinis, ясно. Спасибо!
|
Йода, как вставляешь строку, надеюсь, как параметр, а не делаешь конкатенацию?
Вообще еще есть такой вид инъекции: твой запрос + строка вида = ' UNION ALL select ... from таблица_где_хранятся_секретные данные'. Объединение запроса. Там важно, чтобы совпадали кол-во и типы полей в обоих селектах. На практике таких инъекций не встречал, но и практики было мало. В десктопных системах такое просто никто не допустит. Так что, если совсем охота защититься, можно еще проверять на наличие UNION в строке. :) |
В общем случае надо экранировать кавычки и проверять типы параметров.
Т.е. если из параметров должен подставляться INT, то и надо проверять что это INT На серче попадался чувачок который за 20$ бодро нашел кучу уязвимостей (в том числе и SQL инъекций) на одном моем сайте (самопис). Контакты не помню. |
Ну вообще в данных формы приходят строковые значения, на тип сложновато проверить, если только по содержимому строки как-то попытаться.
Я лично привожу к нужному типу и потом уже проверяю полученные значения. |
Цитата:
|
Часовой пояс GMT +3, время: 03:06. |
Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.