Как узнать, использует ли сайт 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, но часто и основную и вспомогательную версии.


Только два из этих пунктов могут помочь понять, использует ли сайт 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%.


Ответы 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 .


4

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

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

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

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

Это также верно и для Drupal 8. Пока нет сайтов, работающих под Drupal 8, но как только они появятся, вы больше не сможете использовать этот метод.
kiamlaluno

За исключением заголовка генератора, то же самое можно сказать о всех ответах, изложенных здесь.
mpdonadio

2

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


3
Правда, но на правильно настроенном сайте (т.е. с включенным агрегацией CSS) это не сработает.
Marcvangend

правда, плюс сайт isthissitebuiltwithdrupal.com тоже не всегда правильный, просто возьмите пример с сайта www.jacksonville.com.
Джимаджамма

Даже если у них есть агрегация, вы можете напрямую
перейти

2

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


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 есть массивная.


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.


0

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

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


0

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

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


Я не хочу вас об этом рассказывать, но кто-то побил вас этим ответом примерно на 6 лет ;-) Добро пожаловать в Drupal. Продолжайте спрашивать и отвечать!
Marcvangend
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.