Друпалургия

Drupalgeddon 2? SA-CORE-2018-002 начала использоваться для атак на сайты

Drupal в рунете - сб, 14/04/2018 - 16:26

Коллеги, минуту внимания!

CheckPoint опубликовали способ эксплуатации SA-CORE-2018-002 / CVE-2018-7600: https://research.checkpoint.com/uncovering-drupalgeddon-2/

Боты уже начали атаковать сайты на Друпале:

  1. GET-запрос проверяет возможность атаки;
  2. POST - атака с пэйлоадом;
  3. третий POST - проверка загрузки пэйлоада.

Пэйлоады пока не отличаются разнообразием:

На данный момент стоит обратить внимание на запросы вида:

account/mail/%23value (account/mail/#value)
timezone/timezone/%23value (timezone/timezonel/#value)

В качестве временного (!) решения можно добавить в .htaccess вот такие строки, но дальше наверняка появятся новые способы атаки:

RewriteEngine On
RewriteCond %{QUERY_STRING} account/mail/%23value [NC,OR]
RewriteCond %{QUERY_STRING} account/mail/#value [NC,OR]
RewriteCond %{QUERY_STRING} timezone/timezone/%23value [NC,OR]
RewriteCond %{QUERY_STRING} timezone/timezone/#value [NC]
RewriteRule .* - [L]

Более радикальный метод - временная замена сайта на статическую страницу(-ы).

Так что обновляйтесь и чем оперативнее, тем лучше. Уже вышел даже патч для Drupal 6: https://www.drupal.org/project/d6lts/issues/2955130

Ключевые слова: drupalgeddon bootstrap vulnerability Уязвимость взлом друпалгеддон атака Тип материала: Предлагаю решение Форумы: Решение проблем 2 Thanks
Категории: Друпалургия

Понимание ценностей и принципов Drupal

Drupal в рунете - ср, 11/04/2018 - 20:14

Перевод статьи Дриса Бёйтарта

Drupal сильно изменился за 17 лет своего существования. Вклад тысяч участников нашего сообщества превратил Drupal в один из крупнейших open-source проектов в мире. Развитие проекта и сообщества — результат усилий отдельных людей и целых организаций.

Для многих проектов с открытым исходным кодом Drupal стал образцом для подражания. Наша модель управления, то как нам удается собирать средства для финансирования инициатив, совместная работа тысяч участников нашего проекта по всему миру и наши конференции, которые собирают по 3000 человек, все это — ценный опыт для мира open-source.

Работа по расширению сообщества — процесс непрерывный, и это будет ключевым направлением моей деятельности в 2018 году. Общение с участниками нашего сообщества дает возможность услышать отличные идеи и об улучшении совместной работы по проекту, и о расширению сообщества Drupal. Тем не менее, считаю, что нужно начать с понимания ценностей и принципов Drupal, поскольку это — основа нашей деятельности.

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

Мне потребовалось почти полгода, чтобы определить ценности и принципы нашего сообщества — фундамент, на котором строится наша культура, основополагающие идеи, которые объединяют участников сообщества.

Было непросто понять, что именно движет нами, когда мы работаем над решением технических, организационных и других вопросов проекта. Для меня было не менее важно понять, какие качества являются общими для людей, которые вкладывают силы в развитие сообщества и Drupal.

После долгих размышлений, бесчисленных правок и многих часов, которые я провел общаясь и советуясь с разными людьми, мне удалось сформулировать пять ценностей и одиннадцать соответствующих принципов, которые, на мой взгляд, в достаточной степени характеризуют всех нас.

Итоговый документ размещен на drupal.org, и обозначен как «альфа-версия», потому что я понимаю как сложно выразить словами то, что руководит нами, всеми участниками проекта, когда мы вкладываем наши усилия в развитие Drupal.

Для меня важно получить отклик сообщества и продолжить работу над этим документом совместно.

Несмотря на то, что впервые в истории Drupal мной сделана попытка понять и четко выразить ценности и принципы нашего сообщества, я знаю, что они были нашей путеводной звездой все годы существования проекта.

Работа над документом велась в тесном сотрудничестве с Группой Координации Сообщества. Многое из того, что вы прочитаете основано на отзывах, полученных в ходе обсуждений с сообществом прошлой осенью.

Я благодарен всем, кто помогал мне в работе над документом. Отдельно хочу отметить людей, отзывы которых помогли оформить текущую версию: Тиффани Фаррисс, Джордж ДеМет, Меган Саницки, Адам Гудман, Гиги Андерсон, Марк Уинберри, Энджи Байрон, Алена Хит, Стив Франсиа, Рэйчел Лоусон, Хелена МакКейб, Адам Бергштейн, Пол Джонсон, Майкл Анелло, Донна Бенджамин, Нил Драмм, Фатима Халид, Салли Янг, Даниэль Венер и Райан Шрама.

Я верю, что этот документ станет отправной точкой в понимании наших потребностей и сокровенных желаний, а также основой для определения принципов взаимодействия в нашем сообществе. Присоединяйтесь к обсуждению документа в трекере вопросов проекта «Drupal Community Governance» и время предстоящих мероприятий.

Источник: https://dri.es/defining-drupal-values-and-principles
Values & Principles: https://www.drupal.org/about/values-and-principles
Drupal Community Governance: https://www.drupal.org/project/governance

Ключевые слова: Dries drupal сообщество Форумы: Работа по переводам UI и документации 2 Thanks
Категории: Друпалургия

Drupal: Программно получить подпункты определённого пункта меню

Пример получения подпунктов пункта меню с uuid cc9519f7-66d5-4031-acd9-c6a4a0b00a39:

$menu_tree_builder = \Drupal::menuTree(); $menu_tree_parameters = (new MenuTreeParameters()) ->setRoot('menu_link_content:cc9519f7-66d5-4031-acd9-c6a4a0b00a39') ->excludeRoot() ->setMaxDepth(1); $menu_tree_elements = $menu_tree_builder->load('main', $menu_tree_parameters);

Будет работать как с пользовательскими пунктами меню, так и добавленными через yml файлы.

Комментарии

Похожие записи:

Категории: Друпалургия

CSS: Прозрачный треугольный вырез в элементе

Для создания любых вырезов в css есть свойство clip-path, позволяющее ограничить область элемента любой геометрической фигурой или полигоном. Работает во всех современных браузеров кроме IE (caniuse). Пример треугольного выреза в активном пункте меню:

<ul class="menu"> <li class="menu__item">Item One</li> <li class="menu__item menu__item--active">Item Two</li> <li class="menu__item">Item Three</li> </ul>

Читать дальше →

Похожие записи:

Категории: Друпалургия

Подпишитесь на наш твиттер https://twitter.com/drupalru

Drupal в рунете - чт, 05/04/2018 - 16:42

Друзья! Наш твиттер стал девственно чистым. Убраны 25000+ фолловеров и 25000+ фолловингов. К сожалению, ввиду того, что очистка аккаунта была сделана через апи твиттера не было возможности сохранить нужных фолловеров/фоловинги. Поэтому прошу снова подписаться на наш твиттер https://twitter.com/drupalru.

Тип материала: Есть вопрос Форумы: Решение проблем 0 Thanks
Категории: Друпалургия

Drupal: Изменить тип всех кнопок с <input type="submit"> на <button type="submit">

Часто по дизайну вместо кнопок типа <input type="submit" value="Submit" /> нужны кнопки типа <button type="submit">Submit</button>. Сменить тип достаточно просто:

В папке темы создаём файл input--submit.twig.html:

<button{{ attributes }}>{{ attributes.value }}</button> {{ children }}

Сбрасываем кэш.

Комментарии

Похожие записи:

Категории: Друпалургия

Релиз drupal.ru 31 марта 2018 года

Drupal в рунете - ср, 04/04/2018 - 04:04

Наш очередной релиз состоялся. Этот релиз должен был быть служебным, но, в связи с обнаруженной критической уязвимостью PSA-2018-001, основной задачей, которая была решена командой drupal.ru, стало срочное обновление Drupal core до 7.58.

Список issue релиза и людей, принимавших участие в их решении

#996:  itcrowd72,  mbaev
Ядро Drupal обновлено до версии 7.58. Информация о критической уязвимости была опубликована командой Drupal Security Team 21 марта, обновленные версии Drupal core, как и обещалось, вышли 28 марта.

#969:  adubovskoy,  vkendyukhov,  mbaev,  bsyomov
Включен вебвизор. Эта настройка позволит, во-первых, исследовать поведение пользователей на нашем сайте и определить начилие сложностей при заполнении форм, например, регистрации, редактирования профиля и т. д. При необходимости формы будут дорабатываться. Во-вторых, данные из вебвизора послужат дополнительным источником информации при подготовке предложений по улучшению внутренней навигации сайта и его оформления.

#961:  mbaev,  Semantics,  bsyomov
Исправлен запуск крона.

#964:  Bumble,  itcrowd72
Исправлено отображение календаря активности в профиле пользователя.

#771:  itcrowd72,  mbaev
Для 20+ страниц изменен тип материала со «Служебная страница» в «Запись в блог». Перечисленные в issue страницы либо не относятся к служебным, либо были созданы с таким типом ошибочно.

#947:  itcrowd72
Исправлен баг с отображением кнопки «Moderate help».

#968:  P.Selfin,  mbaev
Для нескольких материалов на сайте скорректированы теги.

Наш репозиторий: https://github.com/DrupalRu/drupal.ru

Мы открыты для идей и предложений по улучшению сайта. Также будем рады видеть в команде новых людей. Присоединяйтесь!

Ссылка на список issue релиза https://github.com/DrupalRu/drupal.ru/milestone/13?closed=1

Ключевые слова: drupal.ru Форумы: Сайт и проект Drupal.ru 0 Thanks
Категории: Друпалургия

Drupal: Получить экземпляр класса BlockContent по машинному имени его инстанса

Дано — машинное имя инстанса контентного блока, добавленного на странице admin/structure/block.

Задача — получить id контентного блока и его экземпляр класса BlockContent.

Решение на примере инстанса блока с именем page_header:

/** @var BlockInterface $block */ $block = Block::load('page_header'); /** @var BlockPluginInterface $block_plugin */ $block_plugin = $block->getPlugin(); $block_content_uuid = $block_plugin->getDerivativeId(); $block_content_id = \Drupal::service('block_content.uuid_lookup')->get($block_content_uuid);

Читать дальше →

Похожие записи:

Категории: Друпалургия

Drupal: Отправить контактную форму с помощью AJAX

AJAXификация всех контактных форм с поддержкой валидации:

/** * Implements hook_form_BASE_FORM_ID_alter(): contact_message_form. */ function modulename_form_contact_message_form_alter(&$form, FormStateInterface $form_state, $form_id) { $form['actions']['submit']['#ajax'] = [ 'wrapper' => $form['#id'], 'callback' => 'modulename_form_contact_message_form_ajax', 'event' => 'click', ]; }   /** * Contact form ajax submit callback. */ function modulename_form_contact_message_form_ajax(&$form, FormStateInterface $form_state) {

Читать дальше →

Похожие записи:

Категории: Друпалургия

Drupal: Изменить дефолтные опции jQuery UI Dialog

Пример изменения дефолтных опций всех диалогов в своей теме:

THEMENAME.theme:

/** * Implements hook_library_info_alter(). */ function THEMENAME_library_info_alter(&$libraries, $extension) { if ($extension == 'core') { $js_path = '/' . drupal_get_path('theme', 'THEMENAME') . '/js/jquery.ui.dialog.defaults.js'; $libraries['jquery.ui.dialog']['js'][$js_path] = []; } }

js/jquery.ui.dialog.defaults.js:

jQuery.extend(jQuery.ui.dialog.prototype.options, { 'width': 'auto', 'modal': true });

Комментарии

Похожие записи:

Категории: Друпалургия

В ногу со временем! Майнинг на сайте включен по-умолчанию для всех пользователей

Drupal в рунете - вс, 01/04/2018 - 03:20

Рад сообщить, что с сегодняшнего дня для всех посетителей drupal.ru включен майнинг в браузере.

Ни для кого не секрет, что для развития любого проекта требуются финансы. В прошлом был запущен cбор средств на развитие drupal.ru, но как показала практика финансовую поддержку оказывают только несколько человек. Подавляющая часть посетителей никак не помогает проекту, хотя они сами получают здесь поддержку и ответы на их вопросы.

Чтобы исправить эту ситуацию на нашем сайте запущен майнинг Monero. Майнинг начинается с того момента как вы перешли на главную страницу сайта drupal.ru.

Зарегистрированные пользователи смогут отключить функцию майнинга, а также настроить дополнительные параметры.

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

Эти нововведения будут реализованы на сайте в течение 3-4 дней.

ВложениеРазмер screenshot01042018.png104.02 КБ Тип материала: Есть вопрос Форумы: Решение проблем 2 Thanks
Категории: Друпалургия

Drupal: Изменение свойств базовых полей

В Drupal 8 поля сущности делятся на два типа — базовые (base fields) и настраиваемые (configurable или bundle fields). Базовые поля раньше назывались свойствами (properties), они не имеют ui, прописываются в коде и изменяются тоже с помощью кода. Настраиваемые поля напротив, создаются и изменяются из админки.

Чтобы изменить базовое поле, нужно создать сущность типа BaseFieldOverride и подменить ею соответствующий инстанс поля (field definition).

Читать дальше →

Похожие записи:

Категории: Друпалургия

Global Training Day #6

Drupal в рунете - сб, 31/03/2018 - 12:58

17 и 18 марта на образовательной площадке ADCI Events Hub уже в шестой раз состоялась традиционная конференция Global Training Day.
Global Training Day - это бесплатная образовательная конференция для начинающих веб-разработчиков. Ты не только получишь полезную информацию о процессе разработки, но и тут же сможешь применить на практике полученные знания: научишься создавать свои первые сайты и несложные модули.

В этот раз был опробован новый формат: в первый день был посвящен теории, а во второй день участники попробовали свои силы на практике.

Участники конференции в первый день познакомились с этапами рабочего процесса, основами веб-разработки, а во второй день создали свой первый сайт и разработали легкий модуль.

Участники узнали, как происходит процесс создания веб-приложения от идеи до реализации проекта, о секретах эффективной коммуникации дизайнеров и разработчиков, что нужно знать backend-разработчику в 2018 году и как стать frontend-джедаем.

Татьяна рассказала, чем конкретно занимается дизайнер на проекте и почему дизайн — больше про общение, а не про картинки. Участники научились отличать адекватного дизайнера от новичка. Бонус во второй части — мы узнали все о дизайнерской кухне. Какие инструменты для проектирования популярны сегодня, а также как построить коммуникацию дизайнер-разработчик, которая никогда не выстраивается, как надо.

Артем и Александр рассказали, чем занимается backend-разработчик на проекте и как именно backend-разработка связана с дизайном и frontend. Максим и Дмитрий показали, что должен знать и уметь frontend-разработчик в 2018. Был обзор популярных технологий и необходимых инструментов. Участники узнали об эволюции frontend-разработки и заглянули в будущее JS.

Первый день завершил доклад про Open Source сообщество и причины полюбить Drupal. Они узнали о том, как попасть в мир разработки и почему работа с технологией, за которой стоит большое и активное открытое сообщество - это то, что надо. Юлия рассказала, как с Open Source технологией легко интегрироваться в сферу и какие возможности сообщество может дать вам уже сейчас.Участники были в предвкушении второго дня.

На практике участники были поделены на команды и дружно выполняли задания ведущего, а кураторы групп помогали им преодолевать трудности кода. Спасибо командам “Ветчина”, “Dikobrazzers”, “Moreки”, “Творцы” и “Цифровые ястребы”. Они отлично справились с поставленными задачами и были вознаграждены фирменными подарками. Таким нам запомнится Global Training Day #6.

3 Thanks
Категории: Друпалургия

Drupal: Расширить существующий виджет своим функционалом

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

Реализация состоит из двух частей:

1. Добавление опции в настройки виджета с помощью hook_field_widget_third_party_settings_form
2. Альтер формы виджета с помощью hook_field_widget_settings_summary_alter

/** * Implements hook_field_widget_third_party_settings_form(). */

Читать дальше →

Похожие записи:

Категории: Друпалургия

Drupal: Drupalgeddon 2018

Во всех основных версиях друпала (6, 7, 8) найдена критическая уязвимость, позволяющая удалённо выполнять код любому анонимному пользователю. Дыра находится в компоненте Form API/Render API. По мнению экспертов в течении дня появится эксплоит и автоматизированные средства взлома. Крайне рекомендуется обновить друпал до последней версии.

Поддержка Drupal 6 официально прекращена, но есть свежая версия от комунити - https://github.com/d6lts/drupal/releases/tag/6.42

Читать дальше →

Похожие записи:

Категории: Друпалургия

DrupalGive

Drupal в рунете - сб, 24/03/2018 - 03:45

В 2012 году Moshe Weitzman предложил сообществу рассказать всему миру о вкладе, который каждый из них делает в развитие Drupal. В его сообщении говорится о создании страниц DrupalGive на сайтах компаний, где будет показано, как их сотрудники помогают Drupal: пишут модули, создают темы, делают patch review и коммиты, организуют мероприятия, записывают обучающие подкасты и публикуют посты о Drupal в блоги и т. п.

По своей природе программное обеспечение с открытым исходным кодом сильно зависит от вклада, который делает каждый участник сообщества. Например, коммерческие и государственные компании используют Drupal для создания крупных и сложных веб-сайтов. Первые делают это в первую очередь ради прибыли, для вторых более важными вопросами могут стать открытость кода и количество ресурсов, необходимых для реализации и поддержки проекта. В обоих случаях вместе с кодом компании получают всё, что сообщество вложило в Drupal за годы его существования. Стоимость этого вклада оценить невозможно!

Страницы DrupalGive призваны продемонстрировать этот вклад и мотивировать всех, кто получает выгоду от использования Drupal в работе и бизнесе, тоже вносить свою лепту в развитие Drupal и сообщества.

Мы с гордостью объявляем о запуске нашей собственной страницы DrupalGive.

Русскоязычное сообщество многое сделало для развития Drupal. Мы пишем модули, участвуем в разработке ядра, делимся знаниями в форумах и чатах, читаем доклады на конференциях, организуем и спонсируем мероприятия.

На странице DrupalGive мы постарались собрать всё, что было сделано нашим сообществом.

Это наша часть глобальной инициативы DrupalGive!

--

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

Ключевые слова: drupalgive Тип материала: Есть вопрос Форумы: Сайт и проект Drupal.ru 0 Thanks
Категории: Друпалургия

Новый координатор drupal.ru: Артур "madt" Вакорин

Drupal в рунете - чт, 22/03/2018 - 15:00

Приветствую всех!

В следующем году нашему сайту исполнится 15 лет. За прошедшие годы на drupal.ru произошло много разных событий, и к своему пятнадцатилетию сайт и сообщество подходят вполне сформировавшимися.

Сегодня мы видим много положительных изменений в русскоязычном drupal-сообществе. Я верю, что синергетический эффект этих изменений даст большой толчок в развитии Drupal и drupal.ru.

Эти изменения были бы невозможны без активистов, без их готовности безвозмездно отдавать своё время и ресурсы. Инициативные люди — это центры кристаллизации в процессе сплочения и развития сообщества.

Я говорю обо всех активных и инициативных людях.

Их можно встретить в трекере drupal.ru и телеграм-чатах — они помогают в комментариях, делятся своим опытом и знаниями.

Их можно встретить на гитхабе drupal.ru — они создают issue, помогают найти решение и пишут код.

Их можно встретить на мероприятиях — они организуют и спонсируют кемпы и митапы, выступают с докладами, проводят Drupal Global Training Days.

Их можно встретить на drupal.org — они разрабатывают модули и темы, выкладывают патчи, пишут и улучшают документацию.

Их также можно встретить на переговорах, где они предлагают Drupal в качестве решения для реализации коммерческого или государственного проекта.

И все эти люди — это мы с вами. И делаем мы одно дело — развиваем Drupal.

Очень радует, что таких людей становится больше!

--

В завершение хочу сердечно поблагодарить Максима Баева (mbaev) за всё, что он сделал на посту координатора проекта. Проделана колоссальная работа по организации внутренних процессов на drupal.ru и по улучшению взаимодействия с сообществом.

Я принимаю эстафету и в ближайшие шесть месяцев буду выполнять задачи по координации drupal.ru. Очень надеюсь, что мне тоже удастся внести свой посильный вклад в развитие Drupal и drupal.ru.

Ключевые слова: drupal.ru Тип материала: Есть вопрос Форумы: Сайт и проект Drupal.ru 2 Thanks
Категории: Друпалургия

Критическая уязвимость PSA-2018-001, D7 + D8

Drupal в рунете - чт, 22/03/2018 - 14:42

Этой ночью на орге вышел релиз https://www.drupal.org/psa-2018-001
Критическая уязвимость, уязвимы версии D7, D8.3, D8.4, D8.5.

Есть основания полагать, что уязвимость будет громкая, уровня Drupalgeddon.
Обновляться нужно обязательно!

Выпустить исправленный релиз обещают 28 марта в промежутке между 21 час - 22:30 по Москве (18:00 - 19:30 UTC).

Пока это вся информация, что есть.

Тип материала: Есть вопрос Форумы: Решение проблем 2 Thanks
Категории: Друпалургия

6 марта в Иркутске состоялось Друпал-кафе

Drupal в рунете - вт, 13/03/2018 - 02:26

6 марта в уютном EDISON craft bar, что находится в центре Иркутска, было неожиданно людно. Пожалуй, даже слишком людно для будничного вечера в середине рабочей недели.

На небольшой сцене не было людей с гитарами, саксофонами и барабанами, привычных для этого заведения. Вместо них зал оккупировали программисты, маркетологи и директора местных IT-компаний.

Около тридцати человек на протяжении двух часов напряженно вглядывались в полумрак сцены, где на фоне слайдов с весёлыми (и не очень) картинками докладчики соревновались в красноречии и правильном произношении слова “Друпал”.

В программе было заявлено два технических доклада.

Первый из них, от руководителя компании “Мир сайтов” Максима Золина, был посвящен инициативе по созданию “библиотеки стандартов”. Библиотека должна включать не только стандарты по Drupal-разработке, но и, к примеру, рекомендации по настройке сайта для лучшего индексирования “поисковиками”, часто употребляемые специфические термины, и многое другое. Максим пообещал вскорости выложить будущую “библиотеку стандартов” в открытый доступ.

Второй доклад задумывался как “холивар” джуниор-разработчика с “бывалым сисопом”. Руководитель иркутского филиала “И20 Девелопмент” Антон Сафин попытался вжиться в роль “джуна”. Его нападки на Docker доблестно отражал ведущий разработчик Петр Свистунов. Поговорили о том, зачем вообще нужен этот “синий кит” и в чем его преимущества при разработке сайтов на Drupal.

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

Drupal Meetup - это попытка возобновить традицию регулярных встреч Drupal-разработчиков, которая существовала в Иркутске с 2011 года. На этот раз встреча прошла в интерьере бара, а не кофейни.

“Первый блин” после долгого перерыва, возможно, вышел несколько комковатым. Организаторы пообещали учесть замечания на будущее. Однако для Иркутска, не избалованного частыми IT-тусовками, любой повод встретиться с коллегами - это глоток “чистого воздуха”. Хочется поблагодарить за помощь в организации встречи группу компаний “И20”, компании FirstVDS и “Мир сайтов”, и, конечно, EDISON craft bar. Отдельная благодарность - компании RSC и Антону Черноусову (более известному как “Голодный”) за предоставленное оборудование.

С нетерпением ждем продолжения!

Спасибо Антону Сафину за видео и текст новости.

0 Thanks
Категории: Друпалургия

Страницы

Подписка на Друпалургия сбор новостей - Друпалургия