Как убрать meta-тег name=generator из шаблона Joomla 4

  1. Зачем убирать из HTML-документа meta-тег name="generator" в Joomla 4
  2. Самый простой способ убрать из HTML-документа meta-тег name="generator" в Joomla 4
  3. Где находится функция setGenerator в коде CMS  Joomla 4


Зачем убирать из HTML-документа meta-тег name="generator" в Joomla 4.

Итак, если посмотреть код любой страницы сайта, работающего на CMS Joomla 4 можно заметить такую строку:

<meta name="generator" content="Joomla! - Open Source Content Management">

Что она даёт? В принципе, она позволяет сразу определить, что сайт работает на CMS Joomla 4. Но вот на сколько это хорошо?

С точки зрения популяризации CMS Joomla — это конечно хорошо... Но вот с точки зрения безопасности сайта...

Зачем лишний раз подталкивать людей, страдающих деструктивными мыслями к тому, чтобы они найдя уязвимость в коде CMS, начали сканировать просторы Интернета с целю выявить, какие сайты можно взломать, используя выявленную, но пока не закрытую уязвимость?

Я не говорю, что CMS Joomla 4 уязвима. Я говорю лишь о том, что лишний раз светить о том, что сайт работает именно на ней, не имеет особого смысла.

И тут встаёт вопрос: «Как убрать из HTML-документа meta-тег name="generator" в Joomla 4?»

Ответ ниже. А под ним ещё немного практических советов того, откуда растут ноги у этого мета-тега. Итак...

Самый простой способ убрать из HTML-документа meta-тег name="generator" в Joomla 4.

Для Joomla 3 этот вопрос решается немного проще. Подробности смотри тут. Для Joomla 4 подход немного сложнее.

В шаблоне сайта в основном файле index.php должен быть вызов функции getWebAssetManager(). Обычно сразу после подключения библиотек. В шаблоне Cassiopea это 20-я строка кода:

$wa  = $this->getWebAssetManager();

Для того, чтобы убрать ненужный нам мегатег из HTML-документа, нужно прописать вызов функции setGenerator с параметром null:

$wa  = $this->setGenerator(null);

Однако, это нужно сделать не в начале кода шаблона в файле index.php, а ближе к его концу. Тогда всё отлично работает: ненужный нам мегатег удаляяется из HTML-документа и больше не рассказывает всем желающим узнать то, что сайт работает на CMS Joomla. Конечно, — это не защита от хакеров, но и не вывешивание флага прямо на фасад. Плюс страница весит на несколько байтов меньше. =)

Где находится функция setGenerator в коде CMS Joomla 4.

Ну и я копнул глубже и нашёл эту функцию setGenerator в коде CMS Joomla 4.

Она находится в файле:

libraries/src/Document/Document.php

и выглядит крайне просто:

	/**
	 * Sets the document generator
	 *
	 * @param   string  $generator  The generator to be set
	 *
	 * @return  Document instance of $this to allow chaining
	 *
	 * @since   1.7.0
	 */
	public function setGenerator($generator)
	{
		$this->_generator = $generator;

		return $this;
	}

Надо понимать, что данная функция относится к классу Joomla\CMS\Document. И в этом классе ещё много интересных для изучения и возможного применения функций. Надо будет посмотреть, что там ещё есть полезного в хозяйстве! =)

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Войдите чтобы комментировать

Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'