Настройка SESSION_COOKIE_SECURE
не шифрует значение cookie, нет.Когда установлено, это заставляет Flask создавать куки с установленным флагом «Безопасный» .Это означает, что браузер может вернуть куки-файл на сервер только через зашифрованное соединение , и ничего более.Параметр ничего не меняет в значении самого файла cookie.
Flask по умолчанию создает файлы cookie, которые криптографически подписаны .Это означает, что содержимое файла cookie может быть декодировано, но не может быть изменено , поскольку третье лицо, не имеющее доступа к секрету сервера, не может создать действительную подпись для файла cookie.
Обычно вы этого не делаете необходимо для шифрования файла cookie сеанса, если вы а) используете HTTPS (который шифрует данные от посторонних) и б) защищаете свое веб-приложение от атак XSS.Без вектора атаки XSS злоумышленники в любом случае не смогут получить доступ к вашему содержимому файлов cookie.
Вам, конечно, не нужно делать это здесь, поскольку SESSION_COOKIE_HTTPONLY
означает, что браузер никогда не будет открывать файл cookie.в JavaScript, и только кто-то с полным доступом к браузеру может видеть значение cookie.
Flask не имеет настройки «зашифровать cookie», потому что это не считается необходимым, если вы можете защитить cookie в другомпути.Вы не должны хранить информацию в файле cookie сеанса, настолько чувствительном, что он должен быть защищен от конечного пользователя с доступом к хранилищу браузера;храните такие данные на сервере и сохраняйте в сеансе только уникальный идентификатор для последующего извлечения этих секретных данных.
Если по какой-то причине вы не можете сохранить такие секреты в файле cookie сеанса и не хотите их приниматьчто конечный пользователь может прочитать эти данные, тогда вам придется самостоятельно зашифровать cookie или использовать альтернативный поставщик сеансов для Flask, например EncryptedSession
.
Что касается ошибки атрибута: только несколько параметров конфигурации доступны как атрибуты для объекта Flask
.Чтобы напечатать произвольные параметры конфигурации, используйте объект app.config
:
print(MyApp.config['SESSION_COOKIE_SECURE'])