Как узнать, использует ли сайт Drupal 7

Ответы:

20

Несколько очевидных раздач сайту Drupal 7:

  • RDF в <head>разделе в HTML
  • Метатег <meta name="Generator" content="Drupal 7 (http://drupal.org)" />
  • Выполнение jQuery.fn.jquery;показывает версию jQuery 1.4.4 или 1.5.2 (с обновлением jQuery)
  • Только один <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />- это известная ошибка в drupal 6 (в <head>разделе два
  • HTTP-заголовок ответа X-Generator: Drupal 7 (http://drupal.org)

Другие варианты включают использование «снифферов», мое любимое «Whatweb» - https://github.com/urbanadventurer/WhatWeb . Whatweb - это инструмент для командной строки (ruby), который может прослушивать не только тот факт, что сайт использует drupal, но часто и основную и вспомогательную версии.

WIIFM
источник
Только два из этих пунктов могут помочь понять, использует ли сайт Drupal 7; другие два пункта будут по-прежнему действительны для Drupal 8.
kiamlaluno
К счастью, на данный момент никто не запускает drupal 8 в производство;)
wiifm
Я сомневаюсь, что у ОП есть реальная необходимость понять, когда сайт использует Drupal 7, а не какую-либо более позднюю версию. Если ему действительно нужно знать, когда сайт использует Drupal 7, то другие методы ему не помогут. :-)
kiamlaluno
Ошибка метатега довольно интересна. Любая причина, почему это не было исправлено?
Sam152
На самом деле он был введен, чтобы исправить дыру в безопасности - подробнее здесь drupal.org/node/451304 - есть также обходные пути для drupal 6, чтобы уменьшить это число до 1
wiifm
6

Если кто-то не вынул его, вы можете посмотреть тег ниже

<meta name="generator" content="Drupal 7 (http://drupal.org)" />

Синтаксически, хотя, я просто ищу способ быть уверенным и не могу ничего увидеть. Jquery теперь требует упаковки

(function ($) {

})(jQuery);

но некоторые старые сайты Drupal могут также делать то же самое, если они были настроены.

Я думаю, что ответ заключается в том, что вы не можете быть уверены на 100%.

joevallender
источник
Ответы matt v и jimajammas лучше моих :)
joevallender
Я не думаю, что их ответы намного лучше, чем ваши. На самом деле, вы можете быть правы, что нет 100% уверенного метода.
Marcvangend
6

Одним из быстрых способов является попытка ввести URL-адрес http://example.com/CHANGELOG.txt , чтобы увидеть, что журнал изменений сообщает об используемой версии. Например, это верно для Drupal.org: http://drupal.org/CHANGELOG.txt .

Мэтт В.
источник
2
Спасибо за упоминание. На самом деле я попробовал это на сайте, на котором я смотрел, прежде чем задавать этот вопрос, но они удалили CHANGELOG.txt - так же, как я всегда делаю сам :-)
marcvangend
Большинство конфигураций веб-сервера блокируют загрузку файлов .txt в webroot. И я бы рекомендовал всем веб-серверам, обслуживающим drupal, сделать это (чтобы не допустить разоблачения основной и вспомогательной версии drupal)
wiifm
1
@wiifm Конечно, но многие этого не делают.
Мэтт В.
6

Вы также можете проверить заголовки HTTP (в Drupal 7) на что-то вроде «X-Generator Drupal 7». Это ссылка на страницу, объясняющую, как удалить это, если кому-то будет интересно: http://drupal.org/node/982034 .

Cyclonecode
источник
4

Другой способ - посмотреть Drupal.behaviorsобъект Javascript . В Drupal 6 функции инициализации прикреплены как

Drupal.behaviors.foo = function () {
  // ...
}

В Drupal 7 это похоже

Drupal.behaviors.foo = {
  attach: function () {
    // ...
  }
}
mpdonadio
источник
Это также верно и для Drupal 8. Пока нет сайтов, работающих под Drupal 8, но как только они появятся, вы больше не сможете использовать этот метод.
kiamlaluno
За исключением заголовка генератора, то же самое можно сказать о всех ответах, изложенных здесь.
mpdonadio
2

Вы можете посмотреть, какие файлы CSS загружены. На первый взгляд, Drupal 6 загружает модули / system / system.css, а Drupal 7 загружает модули / system / system.base.css.

Jimajamma
источник
3
Правда, но на правильно настроенном сайте (т.е. с включенным агрегацией CSS) это не сработает.
Marcvangend
правда, плюс сайт isthissitebuiltwithdrupal.com тоже не всегда правильный, просто возьмите пример с сайта www.jacksonville.com.
Джимаджамма
Даже если у них есть агрегация, вы можете напрямую
перейти
2

Кто-то из IRC предложил взглянуть на версию jQuery: если это 1.3.2, вы можете быть уверены, что это сайт Drupal 6. Тем не менее, этот метод также не является непогрешимым.

marcvangend
источник
2
Только что проверил Drupal 6.22. misc / jquery.js показывает 1.2.6 в комментариях и когда рассматривается jQuery.fn.jquery.
mpdonadio
2
Да, извини, ты прав. jQuery 1.3.2 - это то, что вы получаете на сайте D6 после установки jQuery Update .
Marcvangend
2

Я обычно смотрю на массивное «размытие» javascript в заголовке в jQuery.extend(Drupal.settings,...
A Типичном Drupal 6 есть очень маленькая строка, в то время как у каждого Drupal 7 есть массивная.

tostinni
источник
1
Все зависит от количества модулей, использующих настройки JavaScript в Drupal.
kiamlaluno
Конечно, но в D7 он намного больше, чем в D6 (я пока не уверен, почему), но сравните исходный код france.fr (D6) и examiner.com (D7), оба больших сайта. Разница просто поразительная;)
tostinni
Эта разница не в камне; у вас может быть сайт Drupal 6 с jQuery.extend()разделом больше, чем у сайта Drupal 7. Это зависит также от количества сторонних модулей, используемых на обоих сайтах, и от того, какие это модули.
kiamlaluno
2

Плагин для Firefox под названием «Wappalyzer» сообщает вам, какую CMS использует сайт. На мой взгляд, плагин работает действительно хорошо. Согласно этому посту на drupal.org, существует аналогичный плагин для Chrome, который называется chrome sniffer.

Ro123
источник
0

Я всегда использую Wappalyzer для обнаружения технологий веб-сайта, Wappalyzerвеб-сайт также основан на Drupal 7.

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

Юсеф
источник
0

Вы можете найти информацию о версии в CHANGELOG.txtфайле в папке Drupal.

Все, что вам нужно сделать, это отобразить этот файл.

simhumileco
источник
Я не хочу вас об этом рассказывать, но кто-то побил вас этим ответом примерно на 6 лет ;-) Добро пожаловать в Drupal. Продолжайте спрашивать и отвечать!
Marcvangend