Создание Сайтов и их настройка

WordPress Безопасность WordPress Как убрать meta name generator WordPress?

Как убрать meta name generator WordPress?

Приветствую, друзья. Сегодня на Sdelaemblog.ru, мы удалим версию используемого движка WordPress из исходного кода сайта. Удалять будем по нескольким причинам.

Первая, это, конечно же, защита. Конечно, если мы уберем версию движка — это не значит, что наш сайт станет, защищен и больше не о чем волноваться. Совсем нет. Однако, если убрать версию движка WordPress из исходного кода и не только, мы сможем как минимум усложнить задачу злоумышленнику.

Как убрать meta name generator WordPress?

И вторая причина — эта информация лишняя и не нужная, которая попросту захламляет код сайта. Указание версии движка не дает абсолютно никаких преимуществ, и вообще ни на что не влияет в плане продвижения или оптимизации сайта.

Наверняка, вы уже видели кучу способов, как убрать meta name generator wordpress и возможно даже уже воспользовались одним из них. Хотя, по сути, побродив в поисковых системах, я обнаружил, что код в принципе везде одинаков. Однако есть одно НО… Если вы уже удалили информацию о версии движка из шапки сайта, проверьте еще раз, а может все не так, как вы думаете.. О чем я? Об этом ниже…

Как убрать meta name generator WordPress?

Для начала, давайте разберемся, с чем мы имеем дело. А дело мы имеем с meta тегом, в шапке нашего сайта, который указывает на версию используемого в данный момент движка wordpress. В одной из прошлых статей, я упоминал, что такое мета теги и какие могут понадобиться, а какие нет. Данный meta тег выглядит следующим образом в исходном коде:

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

Чтобы попасть в исходный код сайта, нажмите сочетание клавиш Ctrl+U и между тегами head вы сможете найти данную информацию, если еще не удаляли ее.

В Рунете практически все, а может даже все, предлагают удалить данную информацию, используя functions.php, прописав в нем:

remove_action('wp_head', 'wp_generator');

Но мы пойдем немного другим путем. Почему? Сейчас попробую объяснить.

Итак. Давайте попробуем вставить данный код в functions.php и посмотрим, что произойдет. Если заглянуть в исходный код, то мы увидим, что информация  версии движка wordpress удалена. Начинаем радоваться, чувствуя себя непобедимым… :twisted: Но так ли это? Теперь сделайте вот что. Наберите адрес вашего сайта в следующем виде: ваш_сайт.ру/feed/

И что мы видим? Правильно. Мы видим информацию о версии движка wordpress, используемую сайтом в данный момент времени.

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

Но как же так? Мы же только что удалили версию движка? Так-то оно так. Только удалили мы ее из шапки сайта исходного кода. А в фиде и в исходном коде, при подключении css и jquery, мы по-прежнему можем наблюдать версию нашего движка, что не особо радует. Так как данный способ является довольно бесполезным, увы.

Как убрать meta name generator WordPress?

Но естественно из данной ситуации есть выход.

Как убрать meta name generator WordPress из исходного кода и фида?

Для начала необходимо удалить код, который мы только что использовали. И прописать другую функцию в файл functions.php, в самом конце кода, перед ?>:

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

Давайте взглянем, что изменится, при использовании данного кода. Для начала, заглянем в исходный код сайта. Как мы можем видеть, информация о движке и его версии исчезла, при этом при подключении css и jquery версии остались, но об этом ниже. Теперь, перейдем в фид сайта и увидим, что версия движка по-прежнему осталась. Не стоит разочаровываться раньше времени. Обратите внимание на строку:

<lastBuildDate>дата обновления (построения) +0000</lastBuildDate>

В общем, чтобы обновить feed, зайдите в редактор любой статьи или страницы и пересохраните ее. После чего, возвращаемся в фид, обновляем его и видим, что информация о движке wordpress была удалена.

Как убрать meta name generator WordPress из исходного кода, при подключении css и jquery?

Теперь вернемся к css и jquery. Кроме этого, я предлагаю удалить версии и с остальных подключенных скриптов. Для этого, в functions.php допишем еще одну функцию, в самом конце кода, перед ?>:

function vc_remove_wp_ver_css_js( $src ) {
 if ( strpos( $src, 'ver=' ) )
 $src = remove_query_arg( 'ver', $src );
 return $src;
}
add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 );

Теперь, если заглянуть в исходный код, мы увидим, что удалены версии wordpress, из подключаемых css и jquery. И кроме того, версии самих подключаемых скриптов к сайту.

Как убрать meta name generator WordPress из исходного кода, при подключении css и jquery?

Теперь, можно и порадоваться? Нет. Еще чуть-чуть. Теперь, попробуем набрать в адресной строке: сайт.ру/readme.html И что мы видим? Класс, не правда ли? :shock: А ведь многие забывают удалить этот файл или вообще не знают, что его можно удалить. Здесь все очень просто.

Подключаемся к сайту, с помощью ftp-клиента или заходим, через панель управления хостинга. После чего находим, файл readme в формате html, и удаляем его. После чего, обновите страницу сайта, чтобы убедиться, что данный файл удален. Кроме того, удалите другие файлы, начинающиеся на readme. Мало ли чего они там еще содержать.

Теперь можно сказать, что мы удалили meta name generator с сайта wordpress. Однако, я не исключаю, что версия wordpress еще где-то маячит и я просто это пропустил. Всех внимательных, просьба сообщить об этом.

А у меня на этом все. Теперь вы сможете убрать meta name generator wordpress со своего сайта и хотя бы немного усложнить жизнь злоумышленникам. Я надеюсь, данная статья будет для Вас полезной.

Удачи!

Расскажи друзьям:
Поделись ссылкой:
Комментарии
  1. Руслан

    Отличная статья! Спасибо ОГРОМНОЕ за неё! Только вот у меня не сработала функция по удалению версии из css и js… Это не может быть из-за версии 4? или всё-таки шаблон придётся менять?

    Ответить
  2. Михаил Веб

    @ Андрей:
    Не за что.
    Не могу ничего сказать, к сожалению, по этому поводу, никогда не возникало подобной необходимости.

    Ответить
  3. Андрей

    Спасибо за урок, стоит ли удалять код rss в исходном коде если я его не использую? возможно у тебя есть нужный код для удаления rss.

    Ответить
  4. Михаил Веб

    Мария Загладина пишет:

    В чём может быть причина краха работы сайта целиком, когда меняешь эти переменные в блоках?

    Мне сложно ответить на данный вопрос, так как пока не углублялся на столько в защиту wordpress. Возможно что-то пропустили, при редактировании :-?
    Мария Загладина пишет:

    можно ли использовать при авторизации на сайте один логин(пароль, например, электронную почту), а чтобы имя администратора отображалось другое, ну, когда например, админ отвечает на комментарии, или добавляет новый пост?

    Если я Вас правильно понял, то да, можно.
    В админке, в меню, в разделе пользователи можно изменить данные пользователей, включая администратора сайта. Можно заменить admin, а также назначить ник (как у меня).
    И в этом случае если говорить о защите стоит сделать вывод имени не ссылкой на профиль автора статьи, а простым текстом.

    Ответить
  5. Мария Загладина

    Михаил Веб, Доброго времени! К слову о защите, вот на западном форуме, после в рунете нарыла доп сведения о защите, они связаны с файлом wp-config.php и его метаданными, такими как(укажу блоками —…—):

    —1—

    define(‘DB_NAME’, ‘wpdb’);
    define(‘DB_USER’, ‘wpuser’);
    define(‘DB_PASSWORD’, ‘strongpassword’);
    define(‘DB_HOST’, ‘localhost’);
    define(‘DB_CHARSET’, ‘utf8’);
    define(‘DB_COLLATE’, »);

    —2—

    define(‘AUTH_KEY’, »);
    define(‘SECURE_AUTH_KEY’, »);
    define(‘LOGGED_IN_KEY’, »);
    define(‘NONCE_KEY’, »);

    —3—

    define(‘AUTH_KEY’, »);
    define(‘SECURE_AUTH_KEY’, »);
    define(‘LOGGED_IN_KEY’, »);
    define(‘NONCE_KEY’, »);

    —4—

    $table_prefix = ‘wp_’;

    —-

    ну другие блоки.

    Как водится в них(в переменных) между одинарными кавычками следует прописывать какие-либо знаки: числа, буквы, символы. У одних получается у меня нет. Например, с блоком —2— метаданные свободно вводить и после использовать изменения получается. Ну а с такими блоками как —1—, —3— и —4— не особо, потому что после сохранения сайт вовсе отказывается работать. Шаблон использую стандартный twentyten, версия двигателя WP 3.5. В чём может быть причина краха работы сайта целиком, когда меняешь эти переменные в блоках?

    Дополнительно хотела узнать: можно ли использовать при авторизации на сайте один логин(пароль, например, электронную почту), а чтобы имя администратора отображалось другое, ну, когда например, админ отвечает на комментарии, или добавляет новый пост? Ну, знаете, просто admin использовать уже не безопасно, ни просто не разумно, кроме того, это тоже может стать дополнительной защитой на сайте.

    Ответить
  6. Михаил Веб

    @ Вадим: Спасибо за дополнение.
    Не совсем понял Ваших рекомендаций по поводу папки js, но все равно спасибо.

    Ответить
  7. Вадим

    @ Михаил Веб:

    возможно(скрыть версию движка вообще). Сам я работаю на движке 3.1 и давно уже не обновляюсь, да и смысла нет: разработчики ничего нового не пишут, это заметно если просматривать и изучать псевдо-новые «версии» псевдо-новых движков. Лично для меня не обновление, если я возьму да просто начинаю менять одну строку на другую, то есть меняю местоположение кодов и строк вот и всё(так и обновляюсь сам, спасибо за шэйбл-идею разрабы WP). Пришлось возиться в прошлом, чтобы под корень убрать версию и с java и с php сабжа, но удалось и проверял на известных брайзерах. От себя лично скажу, что ucoz хоть и грешит тем, что тИЦ там трудно поднять, не спорю, но в отношении защиты он очень силён. А WP колится, но пользы от него больше в DMOZ попасть легче, тИЦ поднять(хотя в последнее время метрика Яндекса, особенно после того как Яша определит, что блог это блог, начинается полный параграф и всё потому, что блоги должны обновляться(не скажу сколько статей в день следует писать) и теперь номер один скрыть от яши что блог есть блог, чтобы робот не пропадал), да и GAsense его любит, хотя кидалова от Googla в последний тайм прилично стало исходить из уст блоггеров.

    Михаил, рекомедую также порыться в папке js поскольку больше чем чуть уже сделано, остались хлебные крошки и от версии избавитесь. Просто порыться во всех файлах и всё будет хорошо, и соответственно, нужно следить за постами на офф.форуме WP там иногда упоминают какие строки были зашифрованы(снова о версии, это они умеют от версии к версии).

    Ответить
  8. Михаил Веб

    @ Ромка:
    Здравствуйте.
    Ошибка уже могла быть и до этого.
    Вот статья, связанная с данной ошибкой:
    http://sdelaemblog.ru/oshibku-rss-feedburner-wordpress/

    Ответить
  9. Ромка

    У меня после убирания версии движка, и захода по: ваш_сайт.ру/feed/, как вы рекомендуете, вылетает ошибка — это что такое?

    This page contains the following errors:

    error on line 2 at column 1: Document is empty
    Below is a rendering of the page up to the first error.

    Ответить
  10. Михаил Веб

    @ anon: По поводу самописных движков и плагинов полностью согласен с Вами.
    А по поводу версии — спорно. Так как не все сразу обновляются. А вот плагины — да, действительно зачатую являются теми дырами, которые используют взломщики.

    Ответить
  11. anon

    P.S. А версию движка можно всегда предположить самую свежую, ибо сейчас движки сами напоминают о выходе новых версий себя. Для проникновения интереснее версии и типы плагинов.

    Ответить
  12. anon

    Глупо думать, что самопиисный движок сломать. Программеры чаще всего полный профаны в безопасности и не пишут защиты даже от SQL инъекций, а всё потому, что заказчики об этом не думают: им гламурный интерфейс подавай. А разработчики движков продумывают защиту, а большие сообщества быстро сообщают о новых найденных. Так что опасность тут только в плагинах.

    Ответить
  13. Михаил Веб

    @ Set: Спасибо. Полностью согласен с Вами. Однако не стоит становиться параноиком :-)

    Ответить
  14. Set

    Интересная статья. Что касается безопасности, то защититься на 100 процентов всё равно не получится, но надо делать всё возможное что бы этого не рпоихошло.

    Ответить
  15. Михаил Веб

    @ Dzmitry: C wp я солидарен с вами. А что долго ломать — может быть, но не факт. Да, и все равно, если сильно захотят найдут способ, я думаю.
    Может когда -нибудь я начну думать по-другому, но пока так…

    Ответить
  16. Dzmitry

    смысл в уникальности цмс и более долго ломать-впрочем лично мне и вп нравится(правда спамеры уже убили сайт)

    Ответить
  17. Михаил Веб

    @ Dzmitry: А какой в этом смысл, если есть уже готовые, довольно неплохие CMS? Лично для себя, я не вижу в этом никакого смысла.

    Ответить
  18. Dzmitry

    А как вам идея создания собственной CMS ?
    вот тут некоторые рекламируют этот трюк:
    Создание сайта со своей системой управления контентом.
    [Ссылка удалена]

    Ответить
  19. Михаил Веб

    @ Татьяна Чиронова: Здравствуйте. Почему же не к месту? Очень даже к месту.
    Дело в том что да, различные дополнения, расширения и сервисы, с легкостью определять CMS сайта и в этом никак не сможет помочь удаление meta данных, об использовании движка. В данной статье я преследовал немного другую цель — это скрыть версию используемого движка.
    А скрыть то что используется wordpress будет очень проблематично, а может и невозможно. На данный момент, на моем блоге можно определить, что используется wordpress, просто заглянув в исходный код. Так как различные CMS используют свои классы в исходном коде, названия папок, плагины и т.д. Поэтому, полное скрытие cms довольно проблематично и смысла особого, если честно, я не вижу.
    Но Вам спасибо за замечание. И да, если спалите версию моего движка, прошу сообщить об этом, так как я думаю, что она все же еще где-нибудь да маячит.

    Ответить
  20. Татьяна Чиронова

    Михаил, а на своём блоге вы это уже сделали?
    Если да, то могу вас разочаровать, в мозилле, в панели дополнений RDS бар показано, что сайт ваш работает на wordpress и что сервера находятся в Германии. Мой пост удалите, если он не к месту.
    Это просто чтобы вы знали.

    Ответить
  • 1
  • 2

Нажимая на кнопку "Комментировать" Вы согласшаетесь с условиями политики конфиденциальности

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.

Навигация по статье