Как убрать 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 сразу после тега <head> (стр.115) нужно добавить следующую строчку

<?php Factory::getDocument()->setGenerator(''); ?>

Если вылетает ошибка Class "Factory" not found, то вставлять так:

<?php Joomla\CMS\Factory::getDocument()->setGenerator(''); ?>

Всё отлично работает: ненужный нам мегатег удаляется из 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. И в этом классе ещё много интересных для изучения и возможного применения функций. Надо будет посмотреть, что там ещё есть полезного в хозяйстве! =)

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

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