Как узнать версию WordPress и скрыть версию WordPress

Как срыть узнать версию Wordpress и как скрыть версию Wordpress

В этой записи описано как узнать версию WordPress и как скрыть версию WordPress. Решил написать эту статью после того, как понял что в записи Безопасность и защита WordPress - как защититься слишком много текста уделяется вопросу о скрытии версии WordPress.

Польза от скрытия версии WordPress достаточно спорна, вот тут или тут можно почитать об этом. Но так, как все сплошь и рядом рекомендуют ее скрыть банально убрав лишь один тег, то решил более полноценно раскрыть этот вопрос: показать что узнать версию wordpress можно множеством способов, а значит скрывать нужно не только в одном месте.

Тег generator в head блоке

WordPress автоматически вставляет номер своей версии в исходный код каждой страницы между тегами head, выглядит это вот так:

<meta name=generator content="WordPress 4.2.2"/>

Чтобы избавиться от этой надписи добавьте в файл functions.php код:

remove_action('wp_head', 'wp_generator');

Как узнать версию wordpress по файлу readme.html

Узнать версию wordpress по файлу "readme.html" даже легче, чем искать тег generator в исходном коде, файл находится в корневой папке сайта, а значит достаточно просто перейти по подобному адресу: "site.com/readme.html" . В самом начале файла большими буквами написана версия установленного wordpress и его новшества, "фишки", преимущества.

Если мы хотим скрыть версию WordPress, то лучше этот файл удалить или заблокировать к нему доступ.

Для блокирования доступа можно использовать код в файле .htaccess:

# Protect Files
<Files readme.html>
 Order Allow,Deny
 Deny from all
</Files>

Имейте в виду, что этот код может не сработать, если у вас используется nginx сервер. Который в большинстве случаев берет на себя обработку статических файлов, а значит правила для статических файлов в файле .htaccess для apache ему не указ.

Можно просто удалить файл ручками. Для того, чтобы он автоматически удалялся после каждого обновления wordpress можно прописать в cron периодический запуск подобного php-скрипта:

<?php
 $filename = '/home/user/elims.org.ua/www/readme.html';
 if (file_exists($filename)) {
  echo "Файл $filename существует. Удаляем";
  unlink($filename);
 } else {
  echo "Файл $filename не существует";
 };
?>

Как скрыть версию WordPress в rss генераторе

Если посмотреть исходный код rss-ленты вашего wordpress сайта, то узнать версию wordpress можно по следующей надписи:

<generator>http://wordpress.org/?v=4.2.2</generator>

При этом она присутствует даже в тех случаях, когда вы используете сервис feedburner.

Чтобы скрыть версию wordpress в rss генераторе используйте код:

function remove_wp_version_rss() {
 return'';
 }
add_filter('the_generator','remove_wp_version_rss');

Скрываем версию js скриптов и css стилей

Если внимательно присмотреться к исходному коду страницы, то можно заметить подобные строки:

'wp-content/themes/themename/style.css?ver=4.2.2'

Где "?ver=4.2.2" и есть версия wordpress.

А значит нужно избавится от таких приставок к js и css файлам. Кстати это пригодится не только в скрытии версии wordpress, но и в его внутренней оптимизации, часто для оптмизации рекомендуют убирать эти приставки.

В интернете я нашел сразу два схожих кода, которые в этом помогут.

Этот удаляет только те надписи "?ver=" в котором фигурирует версия вашего wordpress:

//удаление версии WordPress из ссылок на скрипты start
function wp_version_js_css($src) {
    if (strpos($src, 'ver=' . get_bloginfo('version')))
        $src = remove_query_arg('ver', $src);
    return $src;
}
add_filter('style_loader_src', 'wp_version_js_css', 9999);
add_filter('script_loader_src', 'wp_version_js_css', 9999);
//удаление версии WordPress из ссылок на скрипты end

Этот же удаляет все надписи "?ver=", независимо от того, какая там версия указана:

function _remove_script_version( $src ){
$parts = explode( '?', $src );
return $parts[0];
}
//Это для скрытия версии скриптов
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
//Это для стилей
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );

Как скрыть версию WordPress при помощи плагина

Тут все просто: устанавливаем плагин Meta Generator and Version Info Remover, который должен удалять не только тег generator в исходном коде каждой страницы, но и теги в rss лентах, версии css и js скриптов.

Послесловие

Справедливости ради стоит упомянуть что даже все эти меры 100% не скроют версию WordPress, так как при выходе новых версий WordPress появляется новый функционал и соответственно новые файлы (версии файлов), например в папке "/wp-includes/js/". По этим файлам, обладая некоторым знаниями, все равно можно понять какой wordpress сейчас установлен.

Понравилось? =) Поделись с друзьями:

Обсуждение записи “Как узнать версию WordPress и скрыть версию WordPress”

  1. Alex says:

    можно wp-content, wp-include переименовать как и многое другое…
    стандартными средствами WP.

Обсудить