Как определить на какой CMS работает сайт

Как определить CMS сайта
Дата: 13 Декабря 2013, в 15:05
Рубрика: Системы управления контентом
Просмотры: 2992

Вопрос очень часто задается в разделе «Веб-строительство» на серче. Мне не составляет труда определить движок с которым мне ранее доводилось столкнутся. Да собственно и не известные мне движки можно вычислить, немного затратив время на поиски дополнительной информации.

Иногда бывают случаи когда вам по тем или иным причинам хотелось бы узнать, использует ли сайт систему управления сайтом (CMS) и если да, то какую.

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

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

  • Просмотр html кода страницы (70%)
  • Анализ файла robots.txt (30%)
  • Внешний вид ссылок сайта (5%)
  • Поиск файлов по заранее известному пути (5%)
  • Поиск входа в админку (20%)
  • Снифаем http трафик (5%)
  • Смотрим на Cookie которые ставит сайт (90%)

Отмечу, что при вычислении CMS, нужно обладать знаниями об устройстве директорий движков, некоторые особенности известных вам CMS. Без опыта будет проблематично делать какие-либо выводы. Это касается почти всех перечисленных мой пунктов.

1. Просмотр html кода страницы

Это самый верный способ вычислить «клиента». Если повезет, CMS будет озвучена в мета теге generator.

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

или

<meta name="generator" content="DataLife Engine" />

Если не повезет, нужно присмотреться к путям вложенных сss, javascript, графических файлов. Для того же wordpress характерны в путях папка wp-content

<script type="text/javascript" src="http://isif-life.ru/wp-content/themes/isif-life/js/totop.js"></script>

Стоит так же посмотреть закомментированный код. В случае с Invision Power Board он спалится на

<!–ipb.javascript.start–>

2. Анализ файла robots.txt

Многие движки автоматически генерируют файл robots.txt в корне сайта, где запрещают к индексации определенные директории (системные, вход в админку и т.д.). Этим можно воспользоваться, и поискать в списке запрещенных знакомые папки или файлы.

В качестве примера файл robots.txt для Joomla выглядит следующим образом:

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /editor/
Disallow: /help/
Disallow: /images/
Disallow: /includes/
Disallow: /language/
Disallow: /mambots/
Disallow: /media/
Disallow: /modules/
Disallow: /templates/
Disallow: /installation/

Возможны конечно отклонения, но директории в основном будут типичные.

3. Внешний вид ссылок сайта

Смотрите на внешний вид внутренних ссылок проверяемого сайта. Твердо сказать по ссылке что за CMS, возможно и не получится, учитывая что многие вебмастера настраивают ЧПУ под свои любимые схемы. Но в качестве дополнительного аргумента может помочь. Вот известные мне примеры характерные для некоторых CMS:

WordPress

/p=501 (в виде ссылок по умолчанию)

Joomla

/index.php?option=com_content&task=view&id=80&Itemid=202
/content/view/69/109/

DLE

/category/34-ispolzuem-jquery-skript.html

vBulletin

/showthread.php?t=300606

IPB

/index.php?showtopic=36

Еще можно посмотреть на параметры сайта. Говорят (сам не работал) что для osCommerce характерны параметры cPath и cSid.

4. Поиск файлов по заранее известному пути

Способ в общем-то авантюрный, и использовать его есть смысл если есть подозрения на ту или иную CMS.

Очень красивый пример привел на SearchEngines Dangel в топике, где просили определить CMS сайта karpiy.com.ua. Очевидно у него возникли подозрения, что на сайте нет CMS, а в качестве движка используется фреймворк Codeigniter. Он подставил к адресу сайта путь к логотипу CI - /system/scaffolding/images/logo.jpg, и оказался прав: там действительно был CodeIgniter.

Так же можно запросить какой-нибудь стандартный файл движка на который упало подозрение. Это может быть css файл шаблона по умолчанию, корый неизменно копируется при заливке движка, файл readme.txt в корне и т.д.

5. Поиск входа в админку

Добавьте к корню сайта вероятные адреса админок для популярных сайтов, возможно они засветят вход в админку. Но это не всегда поможет, иногда вход в админку сайта можно изменить на некоторых CMS.

WordPress

/wp-admin/

Joomla

/administrator/

Danneo

/apanel/

MaxSite

/admin/

MODx Evolution

/manager/

DLE

/admin.php

6. Снифаем http трафик

Открываем любой сниффер http пакетов, к примеру CommView или плагин для Firefox (HttpFox), и просматриваем ответ сервера, а именно нас интересует http хеадер.

Битрикс ставит дополнительное поле, таким образом наверное дополнительно пиаря себя узкому кругу любителей снифать трафик

X-Powered-CMS: Bitrix Site Manager (582fd04dac6869e159ea80524ec43d0d)

7. Смотрим на Cookie которые ставит сайт

С помощью того же сниффера смотрим название кукисов, которые ставит движок. Этим способом легко вычисляются:

UMI

umicms_session

MaxSite

maxsite_comuser

WordPress

wp-settings

Вот я и поделился своими способами определения движков сайтов, если есть что добавить, или есть вопросы - пишите в комментариях или в обратной связи.

В заключении скажу, что «спрятать» CMS можно, но это достаточно сложно. В большинстве случаев название движка определяется по перечисленным мною способам.

Есть ещё такой способ определния CMS сайта - сервис 2ip.ru/cms/ который автоматически смотрит по многим CMS, но не по всем конечно. Сервис определения CMS позволяет узнать какая система управления сайтом (движок сайта) установлена на нем. Вот еще один сервис itrack.ru/whatcms/

Движок сайта - это программное обеспечение, которое требуется для эффективной работы сайта и его удобного обновления. Определение CMS идет по характерным признакам систем и не гарантирует идеальной точности.