Атрибут is_secure
Атрибут is_secure применяется к объекту
запроса request и возвращает булево
значение. Если запрос пришёл по протоколу HTTPS,
атрибут вернёт True, а если по обычному
HTTP - False. Значение определяется на
основе схемы запроса scheme.
Атрибут удобно использовать для перенаправления пользователя на защищённую версию сайта или для условной логики, зависящей от наличия шифрования.
Синтаксис
request.is_secure
Пример
Давайте выведем значение атрибута в обработчике:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
return str(request.is_secure)
Результат выполнения кода для запроса по HTTP:
False
Пример
Давайте перенаправим пользователя на HTTPS, если соединение не защищено:
from flask import Flask, request, redirect
app = Flask(__name__)
@app.route('/')
def index():
if not request.is_secure:
return redirect('https://example.com/')
return 'abcde'
Результат выполнения кода при HTTP-запросе:
Редирект на https://example.com/