Spec-Zone.ru › Flask 2.1

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

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

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

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

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

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

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

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

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

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

Spec-Zone.ru

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