Менеджер заголовков HTTP в Joomla 4

  1. Вступление
    1. Как использовать новое управление заголовками HTTP в Joomla 4.0
  2. Плагин Joomla 4.0
    1. Система - Заголовки HTTP (plg_system_httpheaders)
    2. Конфигурация плагина
    3. Конфигурация строгой транспортной безопасности (HSTS - Strict-Transport-Security)
  3. Компонент Joomla 4.0
    1. Политика безопасности контента (Content Security Policy) (com_csp)
      1. Отчеты (Reports)
      2. Настройки (Options)
  4. Примечания
  5. Разработчикам расширений для CMS Joomla 4.0
    1. Важные примечания для разработчиков расширений
    2. Добавление JavaScript с помощью API Joomla
    3. Добавление CSS с помощью API Joomla

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Вступление

Как использовать новое управление заголовками HTTP в Joomla 4.0

Начиная с Joomla 4.0, Joomla представила систему управления заголовками HTTP. Эта система предназначена для того, чтобы помочь владельцам сайтов настроить заголовки безопасности HTTP из новой админки Joomla 4.

В этом руководстве вы найдете информацию о том, как настроить эту новую систему на своем сайте.

Плагин Joomla 4.0

Система - Заголовки HTTP (plg_system_httpheaders)

Перейдите в раздел Система Плагины Системные заголовки HTTP (System Plugins System - HTTP Headers), чтобы получить доступ к конфигурации плагина.

Конфигурация плагина

На этой странице вы можете включить запись заголовков в файлы конфигурации сервера (.htaccess и web.config) и настроить, включение следующих заголовков http

Используя форму "Принудительный заголовок" (Force Header), вы также можете принудительно ввести следующие заголовки со значениями:

вы можете включить запись заголовков в файлы конфигурации сервера (.htaccess и web.config)

Конфигурация строгой транспортной безопасности (HSTS - Strict-Transport-Security)

На этой странице вы можете включить заголовок Строгой транспортной безопасности (HSTS - Strict-Transport-Security), а также настроить максимальное значение возраста, следует ли включать поддомены и хотите ли вы быть добавлены в список предварительной загрузки (Preload List) браузеров.

Конфигурация строгой транспортной безопасности (HSTS - Strict-Transport-Security)

Компонент Joomla 4.0

Политика безопасности контента (Content Security Policy) (com_csp)

Перейдите в раздел Система Политика безопасности содержимого (System Content Security Policy), чтобы получить доступ к панели мониторинга Отчетов о политике безопасности содержимого.

Отчеты (Reports)

На этом экране Администратор CMS Joomla 4 имеет общий обзор собранных отчетов о Политике безопасности контента и имеет возможность просматривать, публиковать, отменять публикацию и удалять предлагаемые правила управления Политикой безопасности контента.

Администратор CMS Joomla 4 имеет возможность просматривать, публиковать, отменять публикацию и удалять предлагаемые правила управления Политикой безопасности контента

Чтобы узнать больше, пожалуйста, ознакомьтесь с разделом: Интерфейс политики безопасности контента

Настройки (Options)

На этом экране вы можете настроить параметры компонента CMS Joomla 4, такие как разрешения и, в частности, параметры Политики безопасности содержимого, включая различные режимы и то, находятся ли заголовки в режиме только для чтения.

Параметры политики безопасности контента CMS Joomla 4

Чтобы узнать больше, пожалуйста, ознакомьтесь с разделом: Параметры политики безопасности контента

Примечания

Когда вы настроили некоторые заголовки безопасности HTTP непосредственно на сервере, наши инструменты могут создавать двойные записи.

Проверьте вывод ваших HTTP-заголовков после настройки в консоли браузера. В Google Chrome: Inspect > Network > the output under Headers. Вы можете отключить заголовки, которые вызывают двойные записи. Также проверьте консоль вашего браузера на наличие возможных ошибок.

Разработчикам расширений для CMS Joomla 4.0

Как вы, возможно, знаете, большое преимущество безопасности в отношении Политики безопасности контента возникает, когда мы можем использовать заголовок для блокировки всех встроенных JavaScript и встроенных CSS, влияющих, например, на обработчики событий JavaScript с помощью атрибутов HTML. Таким образом, с включенной защитой браузера мы заблокируем использование встроенного JavaScript и встроенного CSS также для ваших расширений. Эта защита не включена по умолчанию, но может быть включена вашими пользователями.

Для Joomla версии 4.0 рекомендуется запустить интерфейс вашего расширения с включенной строгой политикой безопасности содержимого. Для совместимости с 4.1 рекомендуется, чтобы это также применялось к вашему бэкэнду.

Мы знаем, что по-прежнему требуется встроенный JavaScript и CSS, по этой причине мы внедрили поддержку nonce и hash в наши API-интерфейсы документов, когда вы их используете, ядро Joomla будет следить за тем, чтобы они были занесены в белый список, но мы все равно будем блокировать любые вредоносные программы для защиты наших сайтов.

Важные примечания для разработчиков расширений

Начиная Joomla 4.0 Политика безопасности контента:

  • поставляется ядром;
  • отключена по умолчанию;
  • может быть включена вашими пользователями;
  • настоятельно рекомендуется, чтобы ваш интерфейс расширения работал по Joomla версии 4.0 с включенной политикой безопасности контента;
  • рекомендуется, чтобы ваш сервер расширения работал по Joomla версии 4.1 с включенной политикой безопасности контента.

При включенной строгой политике безопасности контента будут заблокированы следующие функции:

  • выполнение JavaScript через обработчики событий в HTML (onXXX обработчики, такие как onClick и подобные);
  • исполненный на странице код JavaScript не передается странице по Document API;
  • выполнение JavaScript-кода вводится в API модели DOM, такие как eval();
  • использование встроенных в страницы CSS не перешли на страницу по Document API;
  • использование встроенных CSS правил использования HTML стиля атрибутов.

Чтобы ваши расширения работали даже при включенной строгой политике безопасности контента (Content Security Policy), самый простой способ-использовать Document API для применения встроенного JavaScript и CSS, пожалуйста, ознакомьтесь с примерами ниже.

Добавление JavaScript с помощью API Joomla

use Joomla\CMS\Factory;

/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = Factory::getApplication()->getDocument()->getWebAssetManager();

// Add JavaScript from URL
$wa->registerAndUseScript('com_example.sample', 'https://example.org/sample.js', [], ['defer' => true]);

// Add inline JavaScript
$wa->addInlineScript('
    document.addEventListener("DOMContentLoaded", function(event) {
        alert("An inline JavaScript Declaration");
    });
');

Добавление CSS с помощью API Joomla

use Joomla\CMS\Factory;

/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = Factory::getApplication()->getDocument()->getWebAssetManager();

// Add Style from URL
$wa->registerAndUseStyle('com_example.sample', 'https://example.org/sample.css');

// Add inline Style
$wa->addInlineStyle('
	body {
		background: #00ff00;
		color: rgb(0,0,255);
	}
');

Более подробную информацию можно найти здесь: Добавление JavaScript и CSS на страницу.

Перевод с английского официальной документации Joomla 4:
https://docs.joomla.org/J4.x:Http_Header_Management

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню