Як дізнатися, чи використовується сайт 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" />- це знаменита друпальська 6 помилка (у <head>секції є дві
  • HTTP-заголовок відповіді X-Generator: Drupal 7 (http://drupal.org)

Інші варіанти включають використання "sniffers", моє улюблене - "Whatweb" - https://github.com/urbanadventurer/WhatWeb . Whatweb - це (рубіновий) інструмент командного рядка, який може нюхати не лише те, що сайт використовує drupal, але часто також основну та другорядну версію


Тільки два з цих пунктів можуть допомогти зрозуміти, що на Drupal-сайті використовується Drupal 7; інші два пункти все ще будуть дійсні для Drupal 8.
kiamlaluno

На щастя, ніхто зараз не працює drupal 8 у виробництві;)
wiifm

Я сумніваюся, що в ОП є реальна потреба зрозуміти, коли сайт використовує Drupal 7, а не будь-яку пізнішу версію. Якщо йому справді потрібно знати, коли на сайті використовується Drupal 7, то інші методи йому не допомагають. :-)
kiamlaluno

Помилка метатегів досить цікава. Будь-яка причина, чому її не зафіксували?
Сам152

Він фактично був введений для виправлення отвору в безпеці - читайте більше тут 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

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


2
Дякуємо за згадування. Насправді я спробував це на сайті, на який я дивився, перш ніж задавати це питання, але вони видалили CHANGELOG.txt - так само, як я завжди роблю сам :-)
marcvangend

Більшість конфігурацій веб-сервера заблокує завантаження файлів .txt у веб-корі. І я б закликав усіх веб-серверів, які обслуговують drupal, робити це (щоб запобігти викриттю основної та другорядної версії drupal)
wiifm

1
@wiifm Звичайно, але вдосталь - ні.
Метт В.

6

Ви також можете перевірити заголовки HTTP (у Drupal 7) на предмет типу "X-Generator Drupal 7." Це посилання на сторінку, що пояснює, як її усунути, якщо хтось зацікавиться: http://drupal.org/node/982034 .


4

Інший спосіб - шукати об’єкт Javascript Drupal.behaviors. У Drupal 6 функції init приєднані як

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 як приклад.
Jimajamma

Навіть якщо у вас є агрегація, ви можете прямо потрапити на URL, наприклад example.com/modules/system/system.base.css = D7
cam8001

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,...
"Типовий Drupal 6" має дуже невеликий рядок, тоді як кожен Drupal 7 має масовий.


1
Все залежить від кількості модулів, що використовують настройки Drupal JavaScript.
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 років ;-) Хоча ласкаво просимо до відповідей Друпалу. Продовжуйте запитувати та відповідати!
marcvangend
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.