Форум сайта python.su
Поддерживает ли Python PreparedStatement? и если нет, то как обезопасить себя от SqlInjection?
Офлайн
поддерживает.
Офлайн
напишите пожалуйста каким образом? в доках описано только как через курсор выполнить запрос, но что-то я не нашел там PreparedStatement…
Офлайн
Какой БД (библиотекой) пользуетесь? С этого нужно начать…
Офлайн
DelphinCoderы, в доках к чему?
в доках описано только как через курсор выполнить запрос, но что-то я не нашел там PreparedStatement…
Офлайн
в доках к питону. а какая бд должно быть пофигу, ибо запрос формируется в скрипте, а не в бд
Офлайн
Вы вообще понимаете, что “формирование запроса в скрипте” это, по сути, оперирование с API библиотеки доступа к базе денных? Которая разная у каждой конкретной базы?
И что последняя ваша фраза говорит что вы не понимаете, о чём пишите?
Офлайн
PreparedStatements подразумевают формирование специального объекта запроса, где вместо параметров стоят плейсхолдеры (в яве, например, это знак ?). потом специальными методами этого объекта-запроса вместо этих вопросиков (опять же по аналогии с явой) вставляются реальные значения. теоретически это дает: ускорение выполнения запроса и защиту от SqlInjection.
В Python DB API это есть???
Офлайн
Есть. Правда, зависит от DBAPI - иногда это “вопросики”, а иногда - “процентики”. Так что БД далеко не по фигу - именно она их обрабатывает :)
Офлайн
Андрей СветловНе согласен. Не первый день программы пишу и не на одном языке. Что заметил: вопросики, процентики или :имя_параметра - это зависит от языка программирования.
Есть. Правда, зависит от DBAPI - иногда это “вопросики”, а иногда - “процентики”. Так что БД далеко не по фигу - именно она их обрабатывает :)
Офлайн