Moodle разработка плагинов
46 subscribers
37 photos
2 files
51 links
Полезные плагины для LMS Moodle, разработка плагинов: mod, enrol, auth, local, tool, report, theme и многое другое, связанное с Moodle
Download Telegram
Nice Learning - это бесплатная тема и набор блоков для Moodle 5.x.
Эта тема основана на теме Boost. Она предлагает гибкие варианты оформления и пользовательские блоки, которые помогут создать персонализированный Moodle.
https://moodle.org/plugins/theme_nice
1
Плагин Easy Custom Menu помогает улучшить работу пользователя с меню сайта Moodle.
Помогает скрыть основное меню по умолчанию, а именно: "Главная страница", "Личный кабинет", "Мои курсы", "Администрирование сайта".
Управление пользовательскими меню с гибкими условиями.
Условия могут быть применены на основе:
Ролей – Отображение меню в соответствии с ролями пользователей.
Контекстное меню – отображает меню по всему сайту или в рамках определенных курсов (включая модули или страницы).
Язык – Отображает меню в зависимости от языковых предпочтений пользователя.
Возможность открывать пункты меню на новой вкладке браузера. https://moodle.org/plugins/local_easycustmenu
Вчера пришло уведомление для администраторов Moodle. Возможно не все, кто администрирует свой Moodle, его получили или прочитали. Вот о чем это уведомление:

Здравствуйте, администраторы Moodle.,

Нам стало известно об увеличении вредоносной активности, направленной на экземпляры Moodle по всему миру, и мы обращаемся к вам с письмом, чтобы проинформировать вас о ситуации, а также дать некоторые рекомендации о мерах, которые вы можете предпринять для защиты своей системы. Эта вредоносная активность носит внешний характер, а не связана с самим Moodle.

Что происходит?

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

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

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

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

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

Является ли это уязвимостью в самом Moodle?

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

Что вы можете сделать, чтобы защитить свою систему?

Мы рекомендуем вам немедленно принять меры по нескольким направлениям для защиты ваших установок Moodle.

Немедленно измените пароль для всех ваших учетных записей администратора - это гарантирует, что любые украденные учетные данные, которые были использованы повторно, больше не будут работать. Подумайте также о том, чтобы сбросить пароли и для других пользователей. Пароли всегда должны быть уникальными и сложными, чтобы оставаться безопасными. Вы можете настроить сложность пароля в настройках администратора. Документацию для этого можно найти ЗДЕСЬ.

Рассмотрите возможность внедрения многофакторной аутентификации (“MFA”), особенно для учетных записей администраторов - MFA поможет предотвратить любые подобные попытки доступа к системе, даже если учетные данные будут успешно введены, поскольку пользователю будет предложено пройти аутентификацию с помощью электронной почты, телефона или других средств. Moodle изначально поддерживает MFA с момента выпуска Moodle 4.3, и соответствующую документацию можно найти ЗДЕСЬ. Если вы используете версию Moodle старше 4.3, рассмотрите возможность обновления, чтобы вы могли использовать MFA. В качестве альтернативы, ваша версия может поддерживаться плагином многофакторной аутентификации Catalyst IT.

Отключить веб-плагин устанавливает - Если вы самостоятельно разместить свой сайт Moodle-сайт, и хотите убедиться, что кто-то с работы учетных данных администратора сайта не могут включить или установить вредоносный плагин, вы можете отключить веб-установщик плагина, добавив строку в config.php файл:

$CFG->disableupdateautodeploy = true;
Если у вас нет доступа к файлу config.php пожалуйста, обратитесь за помощью к своему хостинг-провайдеру.

Самый простой способ обнаружить эти атаки - поискать в ваших веб-журналах попыток доступа к пути /admin/tool/installaddon/index.php. Это страница, к которой пытается получить доступ злоумышленник. Она очень редко используется на рабочем сайте, если вообще используется, поэтому любые попытки доступа к ней должны быть тщательно изучены.


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

Мы продолжим отслеживать эту ситуацию и информировать сообщество по мере поступления дополнительной информации.

Благодарим вас за внимание к этому вопросу и желаем успешной работы в Moodle.

Команда Moodle HQ
1
Будьте внимательны как администратор при настройке и тестировании параметров, чтобы не заблокировать доступ к сайту. Если вы это сделаете, то MFA можно отключить из командной строки, введя:
php admin/cli/cfg.php --component=tool_mfa --name=enabled --set=0
👍1
История разработки плагина для учета сертификации сотрудников в Moodle

1. Идея и предпосылки

Однажды ко мне обратился клиент — компания, где сотрудникам необходимо регулярно проходить сертификацию (например, по технике безопасности, работе с оборудованием или знания законодательства). Проблема была в том, что учет велся вручную (Excel + напоминания вручную), из-за чего:
• Просроченные сертификаты обнаруживались слишком поздно.
• HR-отдел тратил много времени на отслеживание сроков.
• Не было единой системы, интегрированной в корпоративную LMS (Moodle).

2. Анализ и проектирование

Я предложил создать local-плагин для Moodle, который:
• Автоматически отслеживает сроки действия сертификатов.
• Дает уведомления сотрудникам и HR.
• Позволяет массово загружать данные (импорт из CSV).
• Формирует отчеты по готовности/просрочке.
Технический стек:
• PHP (ядро Moodle)
• JavaScript (AJAX для динамических форм)
• MySQL (хранение данных сертификатов)
• Mustache (для шаблонов отчетов)

3. Разработка

Плагин получил название local_certification_tracker и включал:
• Таблицу сертификатов (привязка к пользователям Moodle, дата выдачи/окончания).
• Запланированное задание для ежедневной проверки сроков.
• Уведомления (через Moodle messaging + email).
• Веб-интерфейс для HR:
o Фильтры (просроченные/активные/близкие к истечению).
o Кнопка экспорта в Excel.
• REST API для интеграции с корпоративным порталом.

Сложности и решения:
• Проблема: Moodle не имеет встроенной системы напоминаний для произвольных событий.
Решение: Создал кастомную event-систему, которая отправляла уведомления за 30/15/1 день до окончания срока действия сертификата.

4. Внедрение и обратная связь

После тестирования на Moodle 4.1+ плагин:
• Сократил время на администрирование сертификатов на 90%.
• Уменьшил количество просрочек с 12% до 0,5%.
• Получил доп. запросы на фичи:
o Автоматическая генерация PDF-сертификатов (добавил через TCPDF).
o Интеграция с календарем (Google Calendar/MS Outlook).

5. Итог

Плагин стал универсальным решением для учета обязательной сертификации сотрудников. Код по запросу адаптирую под другие Moodle-системы.
Что дальше?
• Добавление Telegram-ботов для уведомлений.
• Поддержка SCORM-трекинга (автоматический учет прохождения курсов).

Если нужно что-то похожее — пишите! Telegram: https://t.me/mamaeves.
1