Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Разработка и сопровождение сайтов (http://forum.sape.ru/forumdisplay.php?f=29)
-   -   Защита от SQL инъекции - подмогните плз.. (http://forum.sape.ru/showthread.php?t=60882)

Йода 02.11.2010 15:27

Защита от SQL инъекции - подмогните плз..
 
Какие символы надо удалить из добавляемой в базу строки, чтобы инъекция не получилась?
Субд- mysql.

Как я понимаю- достаточно убрать точку с запятой и все виды кавычек.
Но я подозреваю, что я не доконца это понимаю)))

Собсно- подмогните плиз..
:)

BIOHAZARD 02.11.2010 15:49

http://ru2.php.net/manual/en/functio...ape-string.php

ahsinis 02.11.2010 16:03

добавлю еще
http://ru2.php.net/manual/en/functio...ape-string.php

Йода 02.11.2010 16:25

Ага, за ссылки спасибо.
А без использования mysql_escape?

ahsinis 02.11.2010 17:11

нужно заэкранировать обрамляющие текст кавычки, но mysql_escape еще и всякие управляющие символы экранирует (переводы строк и т.д.)

Йода 02.11.2010 17:22

ahsinis, ясно. Спасибо!

Андрей Барыкин 03.11.2010 12:35

Йода, как вставляешь строку, надеюсь, как параметр, а не делаешь конкатенацию?
Вообще еще есть такой вид инъекции:
твой запрос + строка вида =
' UNION ALL
select ...
from таблица_где_хранятся_секретные данные'.

Объединение запроса. Там важно, чтобы совпадали кол-во и типы полей в обоих селектах. На практике таких инъекций не встречал, но и практики было мало.
В десктопных системах такое просто никто не допустит.
Так что, если совсем охота защититься, можно еще проверять на наличие UNION в строке. :)

Алексей Барыкин 03.11.2010 12:48

В общем случае надо экранировать кавычки и проверять типы параметров.
Т.е. если из параметров должен подставляться INT, то и надо проверять что это INT

На серче попадался чувачок который за 20$ бодро нашел кучу уязвимостей (в том числе и SQL инъекций) на одном моем сайте (самопис).
Контакты не помню.

ahsinis 03.11.2010 13:34

Ну вообще в данных формы приходят строковые значения, на тип сложновато проверить, если только по содержимому строки как-то попытаться.
Я лично привожу к нужному типу и потом уже проверяю полученные значения.

Atomic 03.11.2010 13:41

Цитата:

если только по содержимому строки как-то попытаться.
ctype


Часовой пояс GMT +3, время: 03:06.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.