Как скрыть любую CMS от сервисов проверки builtwith.com, 2ip.ru, itrack.ru и других

"Все аспекты самостоятельного создания и продвижения сайтов
от практика с многолетним опытом." — блог Рудь Сергея
info@site-on.net
Заметка: активирована адаптивная версия сайта, которая автоматически подстраивается под небольшой размер Вашего браузера и скрывает некоторые детали сайта для удобства чтения. Приятного просмотра!
17.09.2013

Добрый день, уважаемые читатели блога Site on! Комментарий к прошлой статье о скрытии признаков Joomla заставил меня немного углубиться в эту тему. В этой статье я расскажу, как скрыть ещё один характерный признак Joomla, а также как скрыть любую CMS от любого сервиса проверки.

В этот раз могу смело утверждать, что мне удалось скрыть свою CMS от абсолютно любого online сервиса, даже от тех, которые заточены только под конкретную CMS, например, http://isthissitebuiltwithdrupal.com

Однако плагин Wappalyzer всё ещё остаётся не решённой задачей, скоро вы поймёте почему, а пока давайте как раз о нём и поговорим.

Как скрыть свою CMS от плагина Wappalyzer ?

В первом комментарии к прошлой статье с нами поделились ссылкой на исходники этого плагина, чтобы не заставлять вас переходить по ссылке выложу здесь критерии проверки для наиболее популярных CMS (Joomla, Wordpress, Drupal):

Код:
"Joomla": {
      "url": "option=com_",
      "meta": { "generator": "Joomla!(?: ([\\d.]+))?\\;version:\\1" },
      "html": "(?:]+id=\"wrapper_r\"|<[^>]+(?:feed|components)/com_|]+class=\"pill)\\;confidence:50",
      "headers": { "X-Content-Encoded-By": "Joomla! ([\\d.]+)\\;version:\\1" },
      "env": "^(jcomments|Joomla)$",
      "implies": "PHP"
},
"WordPress": {
      "meta": { "generator": "WordPress( [\\d.]+)?\\;version:\\1" },
      "html": "]+wp-content",
      "env": "^wp_username$",
      "implies": "PHP"
},
"Drupal": {
      "script": "drupal\\.js",
      "html": "<(?:link|style)[^>]+sites/(?:default|all)/(?:themes|modules)/",
      "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(?:\\s([\\d.]+))?\\;version:\\1", "Expires": "19 Nov 1978" },
      "env": "^Drupal$",
      "implies": "PHP"
}

В общем, я пришёл к выводу, что это слишком трудозатратно, а профита не так уж и много. И я имею ввиду раздел html, из которого видно, что нужно как минимум исправлять все ссылки подключаемых скриптов и стилей и прочего.

Хотя может быть я ошибаюсь, и кто-то уже давно решил эту задачу?

Однако, не смотря на то, что плагин я не одолел, я заметил ещё один характерный признак Joomla, по которому блуждающие боты смогут определить Вашу CMS. Это посылаемые заголовки сервера. Я как-то читал тему на форуме, в которой писали что-то типа: «Настройте правильные заголовки, и вашу CMS будет практически невозможно распознать». Это конечно пыль в глаза, так как этого мало, но доля истины в этом есть, вполне возможно, что некоторые боты распознают CMS Joomla и другие CMS только по заголовкам сервера.

Так вот Joomla посылает их аж два: один посылает слово Joomla, а второй даже её версию - Joomla25. Исправить это очень легко, заходим в файл \libraries\joomla\application\web.php и ищем 449 строку, в которой будет такой фрагмент:

$this->setHeader('X-Content-Encoded-By'

Меняем всю эту строку на следующую:

$this->setHeader('X-Content-Encoded-By', 'unknown');

Теперь заходим в следующий файл \libraries\joomla\environment\response.php и ищем 299 строку, которая будет содержать такой фрагмент:

self::setHeader('X-Content-Encoded-By'

Меняем её на:

self::setHeader('X-Content-Encoded-By', 'unknown');

Готово, мы скрыли ещё один характерный признак использования Joomla.

Как скрыть движок сайта от builtwith.com и любого другого сервиса проверки CMS?

Всё написанное далее уже никак не относится к оптимизации сайта, это скорее решение конкретной задачи.

После раздумий о том, как можно было бы проще скрыть CMS от Wappalyzer, я пришёл к выводу, что чем проделывать объёмную работу, лучше рубить проблему под корень. Я решил, что нужно закрыть доступ к сайту для всех сервисов проверки, чем изменять структуру всей CMS, а как это сделать? Например, банальным "баном" по IP.

После этого, в ходе незамысловатых манипуляций, я узнал IP всех интересующих меня сервисов… ну что, начнём?

Буду краток, впишете этот код в любом месте файла .htaccess, который лежит в корне вашего сайта:

Order Allow,Deny
Allow from All

# Диапозон ITrack.ru
deny from 144.76.

# Диапозон 2ip.ru
deny from 188.40.74.

# IP адрес buildwith.com, вроде IP статичен
deny from 198.27.69.78

# Но если вдруг окажется, что нет, то вот весь диапозон buildwith.com.
# Если решили перестраховаться и вписать весь диапозон, то предыдущий IP
# вписывать не надо, он входит в диапозон ниже:
deny from 198.22.98.0/23
deny from 198.22.100.0/22
deny from 198.22.104.0/21
deny from 198.22.112.0/20
deny from 198.22.128.0/17
deny from 198.23.0.0/16
deny from 198.24.0.0/13
deny from 198.32.0.0/14
deny from 198.36.0.0/19

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

Спасибо за внимание и хорошего вам настроения!

С уважением, .
Пожалуйста, оцените эту статью
Средняя оценка: 4.86 из 5 (проголосовало: 7)
Статья оказалась вам полезной? Подпишитесь, чтобы не пропустить новые!

Ваш email:
Вы можете помочь развитию проекта, сделав всего 1 клик:
Спасибо!
Пожалуйста, прокомментируйте, как Вам моя статья?
Имя:
Комментарий:

Если Вы хотите вставить код, пожалуйста, заключайте его в [code][/code]

Подписаться на новые комментарии:

E-mail:


Защита от спама: у треугольника три...
Ответ:
Подписаться на новые комментарии без комментирования - Email:
Защита от спама: у треугольника три...
Ответ:

18.09.2013 11:36:41 Snake 60:
Спасибо. Очень полезный материал, обязательно применю...

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


25.09.2013 23:23:48 Юрий:
У меня одного это не помогает?
25.09.2013 23:56:50 Сергей отвечает:
Если Вы перед тем как скрыть сайт, проверяли его, то сервис мог закешировать ваш результат. Попробуйте проверить позже.
27.09.2013 10:31:59 Сергей отвечает:
Если так и не заработало, напишите на каком из сервисов, я ещё раз проверю.

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


14.01.2014 08:22:53 Гражданин:
Спасибо за полезную информацию!!! =)

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


17.03.2014 11:52:29 Владимир:
Ув. Сергей. После обновления Joomla, все файлы перезаписываются, и все её характерные признаки снова проявляются. Можно ли этого избежать, или придется корректировать эти файлы после каждого обновления?
17.03.2014 15:40:37 Snake 60 отвечает:
Так используйте последний вариант, предложенный Сергеем, и тогда ничего вообще править не надо ;)
PS Сам только что проверил на 2ip.ru - вроде работает, выдало "WordPress найдены признаки использования" хотя сайт на Joomla и WP на хостинге не ставил ни разу :)
17.03.2014 15:46:08 Сергей отвечает:
В контексте этой статьи - нельзя избежать. Поэтому лично я не обновляю никогда Joomla, меньше проблем. Естественно, если использовать те простые методы и советы по защите, которые я описывал в этом блоге (.htacces в папке administrator и тд.).

Возможно, стоит заметить, что я никогда не использую краткосрочные релизы. Типа Joomla 3.0, 3.1, 3.2 и тд. Если вы их используете, конечно обновляться имеет большой смысл.
18.06.2015 04:36:25 Андрей отвечает:
А какие используете?
19.06.2015 22:55:55 Сергей отвечает:
Те, которые разработчики помечают как LTS. Например: 1.5, следующая была 2.5 (пропускаем 1.6, 1.7, 2.0 и тд.). Следующая долгосрочная планировалась 3.5, но как сейчас не знаю.

Но я уже ровно год как отказался от Джумлы (и других CMS) и сайты делаю только на фреймворках (Yii 2, Laravel 5). Это интересней, прибыльней, и нет проблем с SEO и кастомизацией (но нужно уметь программировать).

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


27.03.2014 21:52:10 Андрей!!!:
Здравствуйте, Сергей!
Супер статья спасибо!
Подскажите как вы определили ip для itrack?
спасибо
28.03.2014 08:59:50 Сергей отвечает:
Ip определял по логам сервера. Проверял сайт, а потом смотрел, с какого IP его мониторили.

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


27.03.2014 21:54:36 Андрей!!!:
И опять от меня же. вот этот диапазон для itrack 144.76. я пишу в isp manager в брэндмауэре но он не корректен... подскажите как корректно его там написать... спасибо еще раз)
28.03.2014 09:00:59 Сергей отвечает:
Не пользуюсь isp manager для таких вещей, попробуйте как написано в статье, через .htaccess, может поможет.

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


27.03.2014 21:58:32 Андрей!:
Я написал вот так 144.76.0.0/11 в isp manager и проверил в itrack... но он все равно нашел мою кмс... не знаю в чем проблема...
28.03.2014 09:05:18 Сергей отвечает:
Попробуйте через .htaccess, или проверьте логи сервера, может IP изменился...
28.03.2014 09:36:18 Андрей! отвечает:
Это мне нужно определять свою кмс на itrack и тогда остается след в логах? Я смотрел access.log... и в том месте где я сканил свой сайт через сервис.. но почему-то в том месте в логах пишется ip моего сервера, а не ip itrack... или я не там может смотрю?
28.03.2014 16:26:34 Сергей отвечает:
Может быть небольшая задержка в логах. Я смотрел через isp manager хостинга.

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


07.05.2014 21:03:25 Сергей:
Только что делал всё это для нового сайта на Joomla 2.5.19 + VM 2.0.26d - всё работает, всё актуально. Так что если у кого-то не получается, значит делаете что-то не так.

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


08.07.2016 01:13:21 Евгений:
Версия пропадает, но все равно показывает cms "Joomla"

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

Использую для работы
Мои расширения
Свежие статьи
Рекомендую
Горячо обсуждаемые
Подписка
  • Следовать в twitter:
  • Подписаться по RSS:
  • Подписаться по E-mail:
  • Следить ВКонтакте:
  • Следить на Facebook:
Пользовательское соглашение об условиях использования сайта и Политика конфиденциальности
Перепечатывание или копирование материалов сайта (текста, изображений и другого содержимого) для их публичного или коммерческого использования в сети Интернет, либо в печатных изданиях строго запрещены. При нарушении данного правила, с нашей стороны будут предприняты соответствующие меры, вплоть до судебной жалобы.
© site-on.net
Шрифт: +стандартно-