- Зачем убирать из HTML-документа meta-тег
name="generator"
в Joomla 4 - Самый простой способ убрать из HTML-документа meta-тег
name="generator"
в Joomla 4 - Где находится функция 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
. И в этом классе ещё много интересных для изучения и возможного применения функций. Надо будет посмотреть, что там ещё есть полезного в хозяйстве! =)
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)