wolverine777
@wolverine777

Как осуществить подготовленные запросы в SQLAlchemy?

Привет, я только начинаю изучать Flask и соседние инструменты - в связи с чем возник вопрос, каким образом, собственно SQLAlchemy "понимает" подготовленные запросы? Иными словами - каким образом этот ORM "защищается" от инъекций?

К примеру, у меня есть вот такой вот кусок кода:

def create_project():

    form = ProjectForm()

    if form.validate_on_submit():

        print(current_user)
        project = Project(title = form.title.data,
                    text = form.text.data,
                    language = form.language.data,
                    protocol = form.protocol.data,
                    format = form.format.data,
                    user_id = current_user.id
                    )

        db.session.add(project)

        db.session.commit()
        flash('Project created')


Получается что объект класса Project инстанциируется, заполняется и коммитится в базу данных.

Непонятно насколько "защищена" система в целом?

Или же SQLAlchemy настолько непробиваем что не о чем беспокоиться?

Спасибо
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
@bacon
Или же SQLAlchemy настолько непробиваем что не о чем беспокоиться?
"непробиваемых" не существует, но фактически про любой достаточно популярный ORM можно сказать, что он очень хорошо защищен он инъекций, что можно не беспокоится. Конечно бывает что находят уязвимые места, обычно это какие-то косвенные места, а не часто используемый функционал.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы