Скрываем информацию о версии WordPress и удаляем лишнее из head

Ноя 18 2016 Published by under WordPress

информация о версии wordpress

WordPress в теге head дает открытую информацию о версии. Это позволяет злоумышленнику подобрать нужный сплойт.

Такую информацию можно почерпнуть из следующей строки

<meta name=»generator» content=»WordPress 4.5.2-ru» />

Однако мы можем скрыть эту информацию и заодно удалить лишнее из head.

Большинство ресурсов советует редактировать файл function.php темы и вставить в нее некоторый код. Я тоже грешил баловством с этим файлом. И именно на этапе скрытия информации, что называется доигрался. В итоге я получил полностью нерабочий сайт и обеспечил себе геморрой на целый день.

Посему я вам категорически не советую лезть в файл function.php. Делайте лучше плагины. Более подробно читайте в статье «Загадочный файл functions.php WordPress«.
Если очень уж неймется — сделайте резервную копию файла function.php, чтобы при необходимости его можно было восстановить.

Для удаления ненужной нам информации из head воспользуемся функцией remove_action. Эта функция удалит некоторые выводимые параметры из подключаемой функции.
Обернем нашу команду в функцию для плагина

function delete_garbage_header()
{
remove_action( ‘wp_head’, ‘wp_generator’ );
}
add_action( ‘plugins_loaded’, ‘delete_garbage_header’ );

Данный код указывает, что CMS не должна выводить строку

<meta name=»generator» content=»WordPress 4.5.2-ru» />

Теперь вы не увидите версию WordPress в исходном коде. Однако, если вы используете RSS ленту – в конце страницы с RSS-сообщениями тоже будет версия вордпресс. Лекарство простое. В нашу функцию добавляется следующий код
remove_action( ‘wp_head’, ‘feed_links’, 2 );
remove_action( ‘wp_head’, ‘feed_links_extra’, 3 );

Кроме информации о версии WP можно удалить ссылки на предыдущую и следующую статьи, короткую ссылку и др.

Вот полный список функций, удаляющих все лишнее из head WordPress
remove_action( ‘wp_head’, ‘wp_generator’ ); // Удаляет информацию о версии WordPress
remove_action( ‘wp_head’, ‘feed_links’, 2 ); // Удаляет ссылки RSS-лент записи и комментариев
remove_action( ‘wp_head’, ‘feed_links_extra’, 3 ); // Удаляет ссылки RSS-лент категорий и архивов
remove_action( ‘wp_head’, ‘rsd_link’ ); // Удаляет RSD ссылку для удаленной публикации
remove_action( ‘wp_head’, ‘wlwmanifest_link’ ); // Удаляет ссылку Windows для Live Writer
remove_action( ‘wp_head’, ‘wp_shortlink_wp_head’, 10, 0); // Удаляет короткую ссылку
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0 ); // Удаляет ссылки на предыдущую и следующую статьи
// отключение WordPress REST API
remove_action( ‘wp_head’, ‘rest_output_link_wp_head’ );
remove_action( ‘wp_head’, ‘wp_oembed_add_discovery_links’ );
remove_action( ‘template_redirect’, ‘rest_output_link_header’, 11, 0 );

Я сознательно не привожу устаревшие функции, актуальные для WP версии ниже 3.2. Надеюсь, что вы следите за своей безопасностью и регулярно обновляете CMS.

Для удобство работы все функции я оформил в виде плагина WP-Ggarbage-Header. По, я думаю, понятнным для вас соображениям, я не могу опубликовать его на wordpress.com. Скачать его можно здесь.

Высоких вам конверсий и профитов

No responses yet

Добавить комментарий

31 - столько SQL запросов к базе.
0,138523 - за столько сгенерировалась страница.