Spec-Zone.ru › Ruby on Rails 6.1

класс ActionDispatch::SSL

Родитель:
Object

Этот промежуточный программный модуль добавляется в стек при config.force_ssl = true, и ему передаются параметры, установленные в config.ssl_options. Он выполняет три задачи для обеспечения безопасных HTTP-запросов:

  1. Перенаправление TLS: Постоянно перенаправляет http:// запросы на https:// с тем же хостом URL, путем и т. д. Включено по умолчанию. Измените config.ssl_options для изменения целевого URL (например, redirect: { host: "secure.widgets.com", port: 8080 }), или установите redirect: false для отключения этой функции.

    Запросы могут отказаться от перенаправления с помощью exclude:

    config.ssl_options = { redirect: { exclude: -> request { /healthcheck/.match?(request.path) } } }
    

    Cookies не будет помечен как защищённый для исключённых запросов.

  2. Защищённые файлы cookie: Устанавливает флаг secure для файлов cookie, чтобы сообщить браузерам, что их нельзя отправлять вместе с http:// запросами. Включено по умолчанию. Установите config.ssl_options с secure_cookies: false для отключения этой функции.

  3. HTTP Strict Transport Security (HSTS): Сообщает браузеру, что этот сайт предназначен только для TLS и автоматически перенаправляет запросы без TLS. Включено по умолчанию. Настройте config.ssl_options с hsts: false для отключения.

    Настройте config.ssl_options с hsts: { ... } для настройки HSTS:

    • expires: Сколько секунд эти настройки будут действовать. Минимальное значение, необходимое для попадания в предварительно загружаемые списки браузера, составляет 1 год. По умолчанию 2 года (рекомендуется).

    • subdomains: Установите значение true для указания браузеру применять эти настройки ко всем поддоменам. Это защищает ваши файлы cookie от перехвата уязвимым сайтом на поддомене. По умолчанию true.

    • preload: Укажите, что этот сайт может быть включён в предварительно загружаемые списки HSTS в браузерах. HSTS защищает ваш сайт на каждом посещении, *кроме первого*, так как браузер ещё не видел ваш заголовок HSTS. Чтобы исправить этот недостаток, разработчики браузеров включают встроенный список сайтов, поддерживающих HSTS. Перейдите на hstspreload.org, чтобы добавить свой сайт в этот список. По умолчанию false.

    Для отключения HSTS недостаточно пропустить заголовок. Браузеры будут запоминать исходную директиву HSTS до её истечения. Вместо этого используйте заголовок, чтобы сообщить браузерам об немедленном истечении HSTS. Установка hsts: false — это сокращение для hsts: { expires: 0 }.

© 2004–2020 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

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