Spec-Zone.ru › Ruby on Rails 5.2

класс ActionDispatch::SSL

Родитель:
Object

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

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

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

    config.ssl_options = { redirect: { exclude: -> request { request.path =~ /healthcheck/ } } }
    

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

  2. Защищённые куки: Устанавливает флаг secure для куки, чтобы сообщить браузерам, что они не должны отправляться вместе с 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 год. По умолчанию 1 год (рекомендуется).

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

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

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

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

Spec-Zone.ru

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