Spec-Zone.ru › Flask 0.12

Предварительное слово для опытных программистов

Локальные переменные потоков в Flask

Одним из решений при проектировании Flask было сделать простые задачи простыми; они не должны требовать много кода, но и не должны вас ограничивать. Из-за этого Flask использует несколько решений, которые некоторые могут считать удивительными или нестандартными. Например, Flask использует локальные объекты потоков в своей внутренней работе, чтобы вам не приходилось передавать объекты от функции к функции внутри запроса, чтобы обеспечить безопасность потоков. Этот подход удобен, но требует действительного контекста запроса для инъекции зависимостей или при попытке повторного использования кода, использующего значение, связанное с запросом. Проект Flask честен по поводу локальных переменных потоков, не скрывает их и указывает в коде и документации, где они используются.

Разработка веб-приложений с осторожностью

Всегда помните о безопасности при создании веб-приложений.

Если вы создаёте веб-приложение, вы, скорее всего, позволяете пользователям регистрироваться и оставлять свои данные на вашем сервере. Пользователи доверяют вам свои данные. И даже если вы единственный пользователь, который может оставить данные в вашем приложении, вам всё равно нужно хранить эти данные безопасно.

К сожалению, существует множество способов компрометации безопасности веб-приложения. Flask защищает вас от одной из наиболее распространённых проблем безопасности современных веб-приложений: межсайтового скриптинга (XSS). Если вы не помечаете небезопасный HTML как безопасный, Flask и базовая шаблонная система Jinja2 позаботятся об этом. Но существует много других способов создания проблем с безопасностью.

Документация предостережёт вас об аспектах веб-разработки, требующих внимания к безопасности. Некоторые из этих проблем безопасности намного сложнее, чем можно себе представить, и мы иногда недооцениваем вероятность того, что уязвимость будет использована – пока какой-нибудь хитрый злоумышленник не найдёт способ использовать наши приложения. И не думайте, что ваше приложение не достаточно важно, чтобы привлечь злоумышленника. В зависимости от типа атаки, есть большая вероятность, что автоматические боты будут пытаться заполнить вашу базу данных спамом, ссылками на вредоносное ПО и тому подобным.

Flask ничем не отличается от других фреймворков в том, что вам, как разработчикам, необходимо создавать приложения с осторожностью, следя за уязвимостями при создании по вашим требованиям.

Поддержка Python 3 в Flask

Flask, его зависимости и большинство расширений Flask поддерживают Python 3. Если вы хотите использовать Flask с Python 3, ознакомьтесь со страницей Поддержка Python 3.

Продолжить на Установка или Быстрый старт.

© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://flask.palletsprojects.com/en/0.12.x/advanced_foreword/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API