Автоматическая замена ссылок на HTTPS - как включить или отключить HSTS, опция preload
После всеобщего внедрения протокола HTTPS стало необходимо каким-либо образом перенаправлять посетителей сайта на открытие страниц через этот протокол. Обычно это можно сделать при помощи правил в .htaccess файле в корне сайта. Однако, так как HTPPS стал чрезвычайно популярен и используется сегодня повсеместно – должен был появиться удобный способ автоматической замены ссылок на сайте на HTTPS без написания лишних правил.
Что такое HSTS
Такой способ существует – называется данная технология HSTS (HTTP Strict Transport Security). Что такое HSTS? Это опция, включающая форсированное защищённое соединение по HTTPS, рекомендуется использовать для обеспечения повышенной безопасности. Другими словами, браузер будет все запросы на Вашем сайте открывать через HTTPS, даже если ссылки прописаны с HTTP.
Использование HSTS позволяет избавиться от необходимости ручной правки ссылок с HTTP, но это распространяется только на текущий домен, а могут быть размещены ссылки еще и на сторонние домены. Всё же лучше не полагаться только на автоматическую замену ссылок на HTTPS, а дополнительно исправить все ссылки на сайте в относительные или в абсолютные адреса с явным указанием протокола.
Как включить HSTS
Это стало возможным благодаря появлению нового заголовка, можно использовать любой из трех вариантов записи:
Strict-Transport-Security: max-age=<expire-time>
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains
Strict-Transport-Security: max-age=<expire-time>; preload
Посылать заголовки в браузер необходимо при помощи PHP, другого языка, при помощи записей в .htaccess файле и т.д. А самый простой способ включения HSTS – поставить галочку в настройках хостинга рядом с пунктом HSTS.
Первый вариант записи просто посылает заголовок, достаточно указать время его действия. Второй вариант указывает браузеру, что правило распространяется также и на все поддомены. Последний третий вариант – неофициальный, однако часто спрашивают, что значит HSTS preload.
HSTS preload
Что такое HSTS preload? Это опция, позволяющая использовать списки предварительной загрузки. Такие списки составляются крупными компаниями и используются всеми браузерами. Сейчас этим занимается Google – она предоставляет списки предварительной загрузки для своего браузера Chrome, а также и для других браузеров.
Зачем нужны такие списки HSTS preload? Это позволяет браузерам еще до посещения сайта узнавать, что указанный сайт (домен) и все его страницы стоит открывать только через HTTPS. Существует специальный проект (на данный момент доступен по адресу - hstspreload.org), который обслуживает заявки. Он принимает заявки на включение сайтов в такой список (зеленая форма выше), а также удаление сайта при необходимости из данного списка (серая форма ниже). Прежде чем подавать заявку на добавление – необходимо удостовериться, что все страницы сайта работают через HTPPS и что Вы сможете поддерживать этот протокол долгое время. Так как на удаление домена из этого списка уйдет много времени.
Как отключить HSTS
Ну и последнее, как отключить HSTS? Необходимо послать тот же заголовок, только с установленным временем max-age в 0. Это немедленно отключит HSTS и разрешит доступ через HTTP.
Есть еще вариант отключения HSTS, для каждого браузера он может различаться. Например, для Chrome необходимо зайти по адресу chrome://net-internals/#hsts и удалить домен через раздел «Delete domain security policies». Достаточно вписать свой адрес домена в поле «Domain» и нажать «Delete». После выполнения данных действий при заходе на сайт лучше принудительно указать протокол http://, иначе браузер может автоматически открыть его по привычке через HTTPS.
Последние статьи
- 03.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 3. Все операторы PHP с примерами, с выводом работы кода на экран.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 2. Типы данных в PHP с примерами.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 1. Коротко о языке веб-программирования PHP. Основы синтаксиса.
- 09.11.23ИТ / Базы данных Ошибки при переходе с MySQL 5.6 на 5.7 и как их исправить - импорт дампа БД завершился ошибкой или не работает INSERT. Отключение строгого режима STRICT_TRANS_TABLES или использование IGNORE
- 08.07.22ИТ / Разное Конвертация офисных файлов DOC, DOCX, DOCM, RTF в форматы DOCX, DOCM, DOC, RTF, PDF, HTML, XML, TXT без потерь и изменения разметки