Forwarded from Joomla Feed (Sergey Tolkachyov)
Работа с Joomla в PHPStorm. Шаблоны (boilerplate) для быстрого создания модулей, плагинов Joomla в IDE.
PHPStorm - среда разработки для PHP-программистов, работающих с кодом как на чистом PHP, так и с такими PHP-фреймворками как Symfony, Laravel, Yii и другими. Эти фреймворки чаще всего используются на "серьёзных" "взрослых" проектах с большой посещаемостью, нагрузкой на сервер, аудиториями с миллионами посетителей. Однако, у многих до сих пор вызывает удивление то, что Joomla - это тоже PHP-фреймворк. Долгое время это был параллельный CMS проект, а начиная с Joomla 4 фреймворк вошёл в состав ядра Joomla CMS. Таким образом у вас под капотом CMS полноценный PHP фреймворк, который в умелых руках может стать мощным проектом.
PHPStorm с 2016 года имеет отличную поддержку Joomla, подсказывает методы работы ядра, аргументы функций, навигация по коду и всё-всё, что обычно является атрибутом "серьёзных" движков.
Бойлерплейты Joomla расширений для PHPStorm
Участник нашего сообщества, разработчик Игорь Бердичевский (@septdir) поделился на GitHub своими "плюшками" для работы с Joomla:
- codeStyle - Code formating style
- colors - цветовая схема для PHPStorm
- fileTemplates - шаблоны для расширений Joomla
- options - файл с названиями для шаблонов
- project - шаблон для пустого Joomla-проекта включая задания для сборщика проекта Phing
- templates - Live Templates for files
- watchers - Configuration for File Watcher
Этот инструментарий позволяет разработчику в PHPStorm быстро создать каркас нового модуля, плагина, компонента и не тратить время на ручное создание структуры файлов и папок.
Репозиторий JetBrains-PhpStorm на GitHub
Также полезные ссылки:
- официальная документация PHPStorm по работе с Joomla
- Настройка IDE (PhpStorm) для работы с Joomla - большая подробная статья, инструкция как всё правильно настроить и работать. Автор - участник нашего сообщества Дмитрий Рекун (@drekun)
#joomla #php #phpstorm #ide #cms #framework #boilerplate #github #laravel #symfony #yii
PHPStorm - среда разработки для PHP-программистов, работающих с кодом как на чистом PHP, так и с такими PHP-фреймворками как Symfony, Laravel, Yii и другими. Эти фреймворки чаще всего используются на "серьёзных" "взрослых" проектах с большой посещаемостью, нагрузкой на сервер, аудиториями с миллионами посетителей. Однако, у многих до сих пор вызывает удивление то, что Joomla - это тоже PHP-фреймворк. Долгое время это был параллельный CMS проект, а начиная с Joomla 4 фреймворк вошёл в состав ядра Joomla CMS. Таким образом у вас под капотом CMS полноценный PHP фреймворк, который в умелых руках может стать мощным проектом.
PHPStorm с 2016 года имеет отличную поддержку Joomla, подсказывает методы работы ядра, аргументы функций, навигация по коду и всё-всё, что обычно является атрибутом "серьёзных" движков.
Бойлерплейты Joomla расширений для PHPStorm
Участник нашего сообщества, разработчик Игорь Бердичевский (@septdir) поделился на GitHub своими "плюшками" для работы с Joomla:
- codeStyle - Code formating style
- colors - цветовая схема для PHPStorm
- fileTemplates - шаблоны для расширений Joomla
- options - файл с названиями для шаблонов
- project - шаблон для пустого Joomla-проекта включая задания для сборщика проекта Phing
- templates - Live Templates for files
- watchers - Configuration for File Watcher
Этот инструментарий позволяет разработчику в PHPStorm быстро создать каркас нового модуля, плагина, компонента и не тратить время на ручное создание структуры файлов и папок.
Репозиторий JetBrains-PhpStorm на GitHub
Также полезные ссылки:
- официальная документация PHPStorm по работе с Joomla
- Настройка IDE (PhpStorm) для работы с Joomla - большая подробная статья, инструкция как всё правильно настроить и работать. Автор - участник нашего сообщества Дмитрий Рекун (@drekun)
#joomla #php #phpstorm #ide #cms #framework #boilerplate #github #laravel #symfony #yii
GitHub
GitHub - SeptdirWorkshop/JetBrains-PhpStorm: Various useful files for working in the JetBrains PhpStorm
Various useful files for working in the JetBrains PhpStorm - SeptdirWorkshop/JetBrains-PhpStorm
👍2
Forwarded from Joomla Feed (Sergey Tolkachyov)
Вышел номер Joomla Community Magazine за ноябрь 2024
Ноябрьский выпуск официального журнала сообщества Joomla. Краткое содержание статей и интервью этого номера.
👩💻 Как поделиться страницей на Facebook. Как внедрить теги OpenGraph в Joomla, а в качестве изображения для поста использовать картинки, генерируемые нейросетью сервиса
👩💻 Приведём документацию в порядок. Куда идёт развитие сайтов документации Joomla и как можно помочь?
👩💻 Мой эксперимент с Joomla 5.2: создание мультиязычного лендинга на 35 языков.
👩💻 Продолжаем путь к созданию высокопроизводительного веб-сайта на Joomla. Вопросы создания контента и работы с ним: утилитами для оптимизации изображений и видео, СЕО (техническое СЕО, внутреннее и внешнее СЕО) а так же пользовательский опыт (UX сайта).
👩💻 Интервью с руководством - Nadja Lamisch, казначей Joomla.
👩💻 Как создать адвент-календарь с помощью нового модуля материалов в Joomla 5.2
👩💻 Анатомия умного поиска в Joomla. Часть 2: создание плагина. 2-я часть перевода статьи "Анатомия умного поиска в Joomla" Сергея Толкачева на английский язык.
👩💻 Инструменты для создания компонента - 5: Component Creator. Обзор сервиса Component Creator, онлайн-инструмента для создания заготовок расширений Joomla.
👩💻 J2Store - компонент электронной коммерции для Joomla продолжает развитие.
Основная команда разработчиков J2Store перестала развивать компонент, но 2 разработчика создали форк, выпустили несколько релизов и делятся в статье о своих планах.
👩💻 Удивительные женщины в Joomla: Ane Miren Alvarez. Интервью. Анна Мирена настраивала автоматизацию Make для Joomla.
👩💻 Исследование: сложная миграция. Заметки о миграции старого сайта на Joomla 5.
👩💻 Tim Davis: путь от священника в жизни к евангелисту Joomla. Когда речь заходит о видео, подкастах и стримершах на Joomla, всегда бросается в глаза одно имя: Тим Дэвис! Случайно ли, что этот пастор из реальной жизни с таким энтузиазмом делится своими знаниями и страстью к Joomla? Мы спросили его о его взаимоотношениях с сообществом и о том, как он пришел к созданию таких интересных и ценных видеороликов.
👩💻 Они захватывают мир Интернета: ИКОНКИ. Заметка о правилах удобства использования и доступности иконок.
👩💻 Доступность и типографика в Joomla: выбор доступного шрифта. В статье приводится список шрифтов, а так же перечисляются некоторые признаки, по которым можно попытаться найти подходящий с точки зрения доступности шрифт.
Подробнее на Joomlaportal.ru
@joomlafeed
#joomla #php #разработка #cms #jcm
Ноябрьский выпуск официального журнала сообщества Joomla. Краткое содержание статей и интервью этого номера.
cloudinary.com. Основная команда разработчиков J2Store перестала развивать компонент, но 2 разработчика создали форк, выпустили несколько релизов и делятся в статье о своих планах.
Подробнее на Joomlaportal.ru
@joomlafeed
#joomla #php #разработка #cms #jcm
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from Septdir Laboratory
Вот настал это час. Первый ролик стал опубликованным.
Речь пойдет про ACL в Joomla.
Смотрите на здоровье.
https://www.youtube.com/watch?v=b79pS3lYwyQ
P.S Это по сути мой первый ролик, я уже понял сколько ошибок там понаделал, и как надо сделать лучше, но критика, советы и помощь не возбраняются.
Ведь это только первый ролик а останавливаться я не планирую.
Речь пойдет про ACL в Joomla.
Смотрите на здоровье.
https://www.youtube.com/watch?v=b79pS3lYwyQ
P.S Это по сути мой первый ролик, я уже понял сколько ошибок там понаделал, и как надо сделать лучше, но критика, советы и помощь не возбраняются.
Ведь это только первый ролик а останавливаться я не планирую.
YouTube
Joomla ACL от А до Я — права доступа для сайта, панели администратора и компонентов
Разбираем систему прав доступа (ACL) в Joomla — от основ до продвинутого использования в разработке.
Поговорим о группах пользователей, уровнях доступа, наследовании прав, приоритетах и тонкостях настройки как для сайта, так и для панели управления.
В третьей…
Поговорим о группах пользователей, уровнях доступа, наследовании прав, приоритетах и тонкостях настройки как для сайта, так и для панели управления.
В третьей…
👍8🔥1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Разбираем систему прав доступа (ACL) в Joomla — от основ до продвинутого использования в разработке.
Поговорим о группах пользователей, уровнях доступа, наследовании прав, приоритетах и тонкостях настройки как для сайта, так и для панели управления.
В третьей части — практические советы для разработчиков: как добавить свои права доступа в компонент и правильно их обработать.
Разделы
00:00 - Вступление00:55 - Доступность содержимого сайта04:56 - Права доступа в панели управления10:56 - Для разработчиков19:15 - ФиналАвтор видео - Joomla-разработчик, участник нашего сообщества - Игорь Бердичевский (@septdir).
Смотреть видео на YouTube
#joomla #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Joomla ACL от А до Я — права доступа для сайта, панели администратора и компонентов
Разбираем систему прав доступа (ACL) в Joomla — от основ до продвинутого использования в разработке.
Поговорим о группах пользователей, уровнях доступа, наследовании прав, приоритетах и тонкостях настройки как для сайта, так и для панели управления.
В третьей…
Поговорим о группах пользователей, уровнях доступа, наследовании прав, приоритетах и тонкостях настройки как для сайта, так и для панели управления.
В третьей…
👍4
Плагин отображения информации о заказе (номер заказа, данные о доставке и т.д.) на странице Спасибо за заказ интернет-магазина JoomShopping.
v.1.1.0. Что нового?
Параметры вывода.
Добавлены параметры вывода информации о заказе: выбор позиции
text или text_end (JoomShopping 5.3.1+), а так же режим вставки: вставлять до, заменять или вставлять после уже существующих данных в этих позициях.Страница расширения
GitHub расширения
@webtolkru
#joomla #joomshopping #webdev #cms
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
[Тут должна быть победная пляска] Год назад у моих клиентов возникла необходимость во вставке видео в кастомные поля материалов в раздел портфолио. Я начал делать и увидел, что именно стандартное пользовательское поле Media не умеет вставлять в поле ничего, кроме изображений, хотя поле Joomla Form
MediaField умеет выбирать и документы (pdf и иже), аудио, видео и даже папки. Я начал работу над тем, чтобы добавить этот функционал в ядро и очень надеялся успеть к Joomla 5.3, которая выходила в апреле. В целом все сделал, сделал PR 25 февраля 2025 года, но PR не приняли, сказав, что это шибко новый функционал и ему будет хорошо в Joomla 6.0.0. Клиентам пришлось использовать медиа-менеджер от JCE, а PR отправился ждать релиза 6.0.0, который выходил осенью. К слову сказать, эта пауза была полезна для него, так как летом, уже неспешно я получал советы по улучшению и в июле всё точно было готово.Релизный цикл Joomla состоит из нескольких этапов: сначала выходят alpha-версии (до 3х штук), где просто фиксируются накопленные изменения, потом beta, где наступает feature freeze - заморозка новых функций, их нельзя уже добавлять. Дальше только отладка и правки существующих новшеств. У каждого релиза есть 2 релиз-менеджера.
В работе над PR мне помогал все это время Брайан Тиман - ко-фаундер Joomla. К концу июля все было готово, проверено, PR имел 2 необходимых независимых теста. Ждём беты.
Дата беты приходилась на понедельник. Где-то в пятницу днём я отписался в PR и получил совет написать релиз+менеджерам. Как-то удалось найти их в Mattermost, где обитает международное сообщество, но пятница и выходные, а все ж волонтеры и не на зарплате... Моё сообщение прочитали после релиза беты... Сказали, что не были в курсе моего PR (ожидаемо, их около 200-250 все время открытых). И сказали, что поезд ушёл, хоть и so sorry. Зато будет хорошо увидеть PR на тестах в Pizza, Bugz and Fun и вообще welcome в 6.1.
После выхода 6.0.0 меняются релиз-менеджеры. Мы списались: да, все хорошо, но нужно кое-что подправить. Тут конец года и закрытие дедлайнов, потом Новый год и весь январь никто толком не работает. Beta для 6.1 выходит 17 февраля. Последняя alpha недели за 3 до этого.
Незадолго до выхода альфы я-таки получаю сообщение, что реализуемый функционал сделан не по "Joomla way" и если код в ядре, то этот код является учебным пособием по тому, как ядро использовать. Резонно. А ещё у релиз-менеджера есть собственные наработки и экспертиза в этой теме и свой медиа-менеджер, в котором он тоже прошел огонь, воду и медные трубы. Согласно Joomla way мне нужно было разделить одно мега-крутое поле на 4 отдельных (картинки, аудио, видео и документы). Я подумал, что требуется сделать 4 плагина вместо одного и сказал, что не успею. Мне ответили, что beta is more important for us и время ещё есть, что мне подскажут и 4 плагина делать не нужно.
Пока суть да дело - время идёт. У меня тоже работа, трое детей, карантины, уроки... Но добить этот PR уже стало делом принципа. Я нашел как нужно было делать, принял несколько правок и пожеланий, потом фиксы code style. Сегодня с утра был последний коммит. Сегодня вечером, 11 февраля 2026 года, PR наконец-то смержен в ядро Joomla.
Эта работа научила меня очень многому. 133 комментария в conversation на GitHub, несколько отдельных переписок, 1 год на разработку и внедрение простой в целом фичи, "звоночек" в голове: "не забыть, успеть, сделать, найти"...
Сегодня я поднимаю кружку пенного за этот небольшой в целом PR, за этот прошедший год, за Joomla и за Open Source.
https://github.com/joomla/joomla-cms/pull/45013
#joomla #cms #opensource #community #webdev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🎉4👍2
Позволяет добавлять в категории статьи или контакты из других категорий, если они указаны в пользовательском поле. Для удобства указания дополнительных категорий Joomla вы можете использовать плагин пользовательского поля WT Category.
👉 v.1.2.0 Что нового?
Отдельная таблица связей. Плагин теперь хранит связи с дополнительными категориями в отдельной таблице
#__wtmulticategories_map и больше не читает их напрямую из значений поля в каждом frontend-запросе. Это убрало тормоза плагина.Автоматическая синхронизация. Сопоставление автоматически пересобирается при сохранении материалов и контактов и очищается при их удалении.
Обновлённая логика запросов. Списки категорий для
com_content и com_contact теперь работают через map-таблицу и надежнее обрабатывают подкатегории.Обновление с v.1.1.0. Уже существующие материалы и контакты после обновления автоматически не пересобираются. Для заполнения таблицы маппинга для ранее сохраненных элементов используйте CLI-команду, например:
/path/to/php /path/to/joomla/cli/joomla.php wtmulticategories:rebuild-map.Также исправления ошибок и по-мелочи.
Страница расширения.
GitHub расширения.
Joomla Extensions Directory.
@webtolkru
#joomla #cms #webdev #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
#cms #php #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Forwarded from Joomla Feed (Dmitrijs Rekuns)
🚀 Вышли релизы безопасности Joomla 6.1.1 и 5.4.6!
Только что состоялся релиз Joomla 6.1.1 и Joomla 5.4.6. Это критически важные обновления безопасности, устраняющие сразу 20 уязвимостей в ядре и фреймворке!
🚨 Что закрыли разработчики?
XSS (межсайтовый скриптинг): в модулях лент новостей, компонентах ассоциаций, истории контента и даже в ссылках «Подробнее».
Слепые SQL-инъекции (Blind SQLi): обнаружены и исправлены уязвимости с авторизацией в компонентах поиска com_finder и тегов com_tags.
Уязвимости обхода защиты: закрыто два независимых бага для обхода многофакторной аутентификации (MFA Bypass) и уязвимость CSRF при активации пользователей.
Угрозы файловой системы: исправлены LFI (локальное включение файлов) в HTMLView и выход за пределы каталога (path traversal) в медиа-менеджере через API.
Повышение привилегий: устранены уязвимости в com_users, позволявшие несанкционированно повышать права в системе, а также уязвимость некорректного контроля доступа в плагинах демо-данных и компоненте com_scheduler.
🛠 Исправления ошибок:
Помимо безопасности, в релиз вошло более 30 исправлений стабильности и доступности (a11y), включая фиксы для редактора TinyMCE, работы с AJAX-запросами, кастомных полей и темной темы оформления.
⚠️ Что делать администраторам сайтов?
Если вы используете ветки Joomla 5.x или 6.x, настоятельно рекомендуется обновиться как можно скорее.
#joomla #cms #безопасность
https://joomlaportal.ru/news/release-news/vyshli-relizy-bezopasnosti-joomla-6-1-1-i-joomla-5-4-6
Только что состоялся релиз Joomla 6.1.1 и Joomla 5.4.6. Это критически важные обновления безопасности, устраняющие сразу 20 уязвимостей в ядре и фреймворке!
🚨 Что закрыли разработчики?
XSS (межсайтовый скриптинг): в модулях лент новостей, компонентах ассоциаций, истории контента и даже в ссылках «Подробнее».
Слепые SQL-инъекции (Blind SQLi): обнаружены и исправлены уязвимости с авторизацией в компонентах поиска com_finder и тегов com_tags.
Уязвимости обхода защиты: закрыто два независимых бага для обхода многофакторной аутентификации (MFA Bypass) и уязвимость CSRF при активации пользователей.
Угрозы файловой системы: исправлены LFI (локальное включение файлов) в HTMLView и выход за пределы каталога (path traversal) в медиа-менеджере через API.
Повышение привилегий: устранены уязвимости в com_users, позволявшие несанкционированно повышать права в системе, а также уязвимость некорректного контроля доступа в плагинах демо-данных и компоненте com_scheduler.
🛠 Исправления ошибок:
Помимо безопасности, в релиз вошло более 30 исправлений стабильности и доступности (a11y), включая фиксы для редактора TinyMCE, работы с AJAX-запросами, кастомных полей и темной темы оформления.
⚠️ Что делать администраторам сайтов?
Если вы используете ветки Joomla 5.x или 6.x, настоятельно рекомендуется обновиться как можно скорее.
#joomla #cms #безопасность
https://joomlaportal.ru/news/release-news/vyshli-relizy-bezopasnosti-joomla-6-1-1-i-joomla-5-4-6
👍1
Forwarded from Joomla Feed (Dmitrijs Rekuns)
🚀 Вышли релизы безопасности Joomla 6.1.2 и 5.4.7!
Только что состоялся релиз
🚨 Что закрыли разработчики?
✅ XSS (межсайтовый скриптинг): устранены уязвимости в управлении методами многофакторной аутентификации (
✅ Некорректный контроль доступа: исправлены ошибки прав доступа в конечных точках веб-служб (API) для
🛠 Исправления ошибок и улучшения:
Помимо безопасности, в релизы вошло более 35 исправлений. Среди ключевых:
✅ CLI: разрешено обновление расширений напрямую через командную строку.
• Редакторы и UI: устранен баг с дублированием редактора
✅ Патч регрессии: исправлена критическая ошибка, вызванная прошлыми обновлениями безопасности в версиях
✅ Установщик: исправлен сбой при переходе к БД, если пароль содержал пробелы по краям.
⚠️ Что делать администраторам сайтов?
Если ваши сайты работают на ветках
Вышли релизы безопасности Joomla 6.1.2 и Joomla 5.4.7 - Joomlaportal
#joomla #cms #безопасность
Только что состоялся релиз
Joomla 6.1.2 и Joomla 5.4.7. Это важные обновления безопасности и стабильности, устраняющие уязвимости в ядре и веб-службах, а также исправляющие накопившиеся ошибки.🚨 Что закрыли разработчики?
✅ XSS (межсайтовый скриптинг): устранены уязвимости в управлении методами многофакторной аутентификации (
MFA), компонентах com_templates и com_installer, языковых переопределениях, а также в макетах вывода изображений и модальных окон.✅ Некорректный контроль доступа: исправлены ошибки прав доступа в конечных точках веб-служб (API) для
com_media, com_privacy, com_fields, а также в компонентах контактов com_contact, модулей com_modules и процессов com_workflow.🛠 Исправления ошибок и улучшения:
Помимо безопасности, в релизы вошло более 35 исправлений. Среди ключевых:
✅ CLI: разрешено обновление расширений напрямую через командную строку.
• Редакторы и UI: устранен баг с дублированием редактора
CodeMirror, исправлена пагинация в модальных окнах и стилизованы успешные оповещения Joomla Alert Success. ✅ Патч регрессии: исправлена критическая ошибка, вызванная прошлыми обновлениями безопасности в версиях
5.4.6 и 6.1.1. • ✅ Установщик: исправлен сбой при переходе к БД, если пароль содержал пробелы по краям.
⚠️ Что делать администраторам сайтов?
Если ваши сайты работают на ветках
Joomla 5.x или 6.x, настоятельно рекомендуется обновиться. Все исправления из ветки 5.4 автоматически перенесены в 6.1.Вышли релизы безопасности Joomla 6.1.2 и Joomla 5.4.7 - Joomlaportal
#joomla #cms #безопасность
👍2
Forwarded from Joomla для разработчиков
🚨 AJAX - главная «слепая зона» безопасности
В 2026 году продолжается волна атак на Joomla-сайты. Ботнеты массово сканируют сети в поиске одной и той же уязвимости — отсутствия проверки прав доступа в AJAX-обработчиках.
Почему com_ajax стал идеальным «черным ходом» для хакеров и как защитить свой код? Разбираем анатомию ошибки.
🔍 Как устроена уязвимость?
com_ajax создавался как легкий маршрутизатор, чтобы плагины и модули могли обрабатывать AJAX-запросы без создания собственных роутов.
Главный капкан архитектуры — com_ajax НЕ проверяет авторизацию за вас.
Разработчики часто путают три разных уровня защиты:
1. CSRF-токен (Session::checkToken()) — проверяет только то, что запрос отправлен с вашего сайта. Но он НЕ проверяет, кто его отправил.
2. Аутентификация ($user->guest) — проверяет, залогинен ли пользователь.
3. Авторизация (ACL / authorise()) — проверяет, имеет ли пользователь право выполнять действие.
💥 Реальные инциденты и уязвимости в Joomla:
• Astroid Framework: Отсутствие авторизации в AJAX-обработчиках позволяет гостям и пользователям с минимальными правами вызывать служебные функции.
• Novarian Framework: Аналогичные «слепые зоны» в AJAX-маршрутизации, открывающие доступ к выполнению кода без проверки ролей.
• JoomShaper Helix3 (Волна взломов AntonKill): Массовый дефейс Joomla-сайтов через неаутентифицированный AJAX-эндпоинт фреймворка шаблона.
• AcyMailing: Повышение привилегий из-за отсутствия проверки прав во внутреннем роутере (уязвимость затрагивает Joomla 9.11.0 – 10.8.1).
❌ Как делать НЕЛЬЗЯ (уязвимый код):
(Проверен только CSRF, но любой гость может удалить элемент).
✅ Как ДОЛЖНО быть (безопасный код):
🛠 Чек-лист базовой проверки:
• Если вы пишете код: Никогда не полагайтесь только на com_ajax. Всегда вызывайте $user->authorise() перед выполнением действия.
• Если вы администрируете сайты: Регулярно обновляйте фреймворки шаблонов (Astroid, Novarian, Helix) и сторонние расширения.
• Проверьте старый код: Наличие checkToken() в AJAX-хендлере не делает его безопасным!
📖 Подробную хронологию разбора этой уязвимости читайте в статье на mySites.guru.
💬 Проверяете ACL на каждом AJAX-вызове в своих компонентах и плагинах?
#joomla #php #security #webdev #cms #backend
В 2026 году продолжается волна атак на Joomla-сайты. Ботнеты массово сканируют сети в поиске одной и той же уязвимости — отсутствия проверки прав доступа в AJAX-обработчиках.
Почему com_ajax стал идеальным «черным ходом» для хакеров и как защитить свой код? Разбираем анатомию ошибки.
🔍 Как устроена уязвимость?
com_ajax создавался как легкий маршрутизатор, чтобы плагины и модули могли обрабатывать AJAX-запросы без создания собственных роутов.
Главный капкан архитектуры — com_ajax НЕ проверяет авторизацию за вас.
Разработчики часто путают три разных уровня защиты:
1. CSRF-токен (Session::checkToken()) — проверяет только то, что запрос отправлен с вашего сайта. Но он НЕ проверяет, кто его отправил.
2. Аутентификация ($user->guest) — проверяет, залогинен ли пользователь.
3. Авторизация (ACL / authorise()) — проверяет, имеет ли пользователь право выполнять действие.
💥 Реальные инциденты и уязвимости в Joomla:
• Astroid Framework: Отсутствие авторизации в AJAX-обработчиках позволяет гостям и пользователям с минимальными правами вызывать служебные функции.
• Novarian Framework: Аналогичные «слепые зоны» в AJAX-маршрутизации, открывающие доступ к выполнению кода без проверки ролей.
• JoomShaper Helix3 (Волна взломов AntonKill): Массовый дефейс Joomla-сайтов через неаутентифицированный AJAX-эндпоинт фреймворка шаблона.
• AcyMailing: Повышение привилегий из-за отсутствия проверки прав во внутреннем роутере (уязвимость затрагивает Joomla 9.11.0 – 10.8.1).
❌ Как делать НЕЛЬЗЯ (уязвимый код):
Session::checkToken() or die('Invalid Token');
$input = Factory::getApplication()->getInput();
$this->deleteItem($input->getInt('id'));(Проверен только CSRF, но любой гость может удалить элемент).
✅ Как ДОЛЖНО быть (безопасный код):
Session::checkToken() or die('Invalid Token');
$app = Factory::getApplication();
$user = $app->getIdentity();
if (!$user->authorise('core.manage', 'com_yourcomponent')) {
throw new Exception('Access Denied', 403);
}
$this->deleteItem($app-> getInput()->getInt('id'));🛠 Чек-лист базовой проверки:
• Если вы пишете код: Никогда не полагайтесь только на com_ajax. Всегда вызывайте $user->authorise() перед выполнением действия.
• Если вы администрируете сайты: Регулярно обновляйте фреймворки шаблонов (Astroid, Novarian, Helix) и сторонние расширения.
• Проверьте старый код: Наличие checkToken() в AJAX-хендлере не делает его безопасным!
📖 Подробную хронологию разбора этой уязвимости читайте в статье на mySites.guru.
💬 Проверяете ACL на каждом AJAX-вызове в своих компонентах и плагинах?
#joomla #php #security #webdev #cms #backend
mySites.guru
AJAX Endpoints: CMS Security Blind Spot | mySites.guru
Five AJAX and API vulnerabilities hit Joomla and WordPress in March 2026, all sharing one root cause. Here is what went wrong and how to protect your sites.
🙏1
Forwarded from Joomla Feed (Joomla Bot)
🚀 Вышли релизы безопасности Joomla 6.1.4 и 5.4.9!
Состоялся релиз
🚨 Что закрыли разработчики?
✅ XSS и обход InputFilter: устранены два вектора обхода фильтра в
✅ Аутентификация и учётные записи: закрыт обход многофакторной аутентификации (
✅ Некорректный контроль доступа (ACL): исправлены проверки прав доступа в эндпоинтах веб-сервисов (API) для уровней доступа и задач редактирования, при смене этапов в
✅ Файловая система и сеть: устранена уязвимость произвольного удаления каталогов при очистке кэша и закрыты векторы SSRF-атак в базовых расширениях ядра.
🛠 Исправления ошибок и улучшения:
Помимо безопасности, в релизы вошло 35 исправлений. Среди ключевых:
✅ Медиаменеджер и шаблоны: сохранение исходных не-ASCII имён файлов при редактировании изображений в
✅ Контент, теги и мультиязычность: устранено дублирование записей в
✅ Доступность (a11y) и интерфейс: улучшена навигация с клавиатуры в календаре, исправлен перевод кнопок конструктора
⚠️ Что делать администраторам сайтов?
Если ваши сайты работают на ветках
Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9 - Joomlaportal
#joomla #cms #безопасность
Состоялся релиз
Joomla 6.1.4 и Joomla 5.4.9. Это важные обновления безопасности и стабильности для веток Joomla 5.x и 6.x, устраняющие сразу 16 уязвимостей в ядре и содержащие 35 исправлений ошибок.🚨 Что закрыли разработчики?
✅ XSS и обход InputFilter: устранены два вектора обхода фильтра в
InputFilter (через декодирование HTML5-сущностей и пробельные символы в data URI), а также XSS-уязвимости в методе HTMLHelper::link, HTML-шаблонах писем, макетах вывода медиафайлов, панели инструментов и списке модулей.✅ Аутентификация и учётные записи: закрыт обход многофакторной аутентификации (
MFA) через cookie-файлы rememberme и устранена возможность несанкционированного создания аккаунта через контроллер profile.save.✅ Некорректный контроль доступа (ACL): исправлены проверки прав доступа в эндпоинтах веб-сервисов (API) для уровней доступа и задач редактирования, при смене этапов в
com_workflow, сравнении версий истории материалов и выводе элементов по тегам.✅ Файловая система и сеть: устранена уязвимость произвольного удаления каталогов при очистке кэша и закрыты векторы SSRF-атак в базовых расширениях ядра.
🛠 Исправления ошибок и улучшения:
Помимо безопасности, в релизы вошло 35 исправлений. Среди ключевых:
✅ Медиаменеджер и шаблоны: сохранение исходных не-ASCII имён файлов при редактировании изображений в
com_media, предотвращение ошибок 404 при удалении медиафайлов, исправление распаковки архивов и подсчёта переопределений в менеджере шаблонов.✅ Контент, теги и мультиязычность: устранено дублирование записей в
#__ucm_content при сохранении статей с тегами, исправлена потеря связей категорий при снятии перевода с публикации и показ кнопки «Подробнее» в mod_articles.✅ Доступность (a11y) и интерфейс: улучшена навигация с клавиатуры в календаре, исправлен перевод кнопок конструктора
TinyMCE, улучшена работа индексатора умного поиска с PostgreSQL и добавлен флаг безопасности для обновлений в ветку 5.4.⚠️ Что делать администраторам сайтов?
Если ваши сайты работают на ветках
Joomla 5.x или 6.x, настоятельно рекомендуется обновиться. Все исправления из ветки 5.4 автоматически перенесены в 6.1.Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9 - Joomlaportal
#joomla #cms #безопасность
👍3⚡1
Forwarded from Joomla Feed (Dmitrijs Rekuns)
🛠 Вышел релиз Joomla 5.4.10 — финальное исправление ошибок серии 5.x
Проект Joomla! выпустил
⚠️ Что это значит для администраторов сайтов на Joomla 5?
Выпуск версии
Для получения новых функций и развития проектов разработчики рекомендуют планировать обновление до
🛠 Что исправлено в Joomla 5.4.10:
✅ Веб-сервисы и API: устранены фатальные ошибки в PATCH-запросах веб-сервисов и скорректировано смещение дат по часовому поясу.
✅ Баннеры и права доступа: обеспечен корректный учет прав доступа (ACL) и статуса публикации категорий при выводе баннеров.
✅ Интерфейс и локализация: добавлена всплывающая подсказка (title) для кнопки сворачивания боковой панели, исправлено отображение символов
https://joomlaportal.ru/news/release-news/vyshel-reliz-joomla-5-4-10
#joomla #joomla5 #cms #релиз
Проект Joomla! выпустил
Joomla 5.4.10. Это последний релиз исправления ошибок для ветки Joomla 5.x. ⚠️ Что это значит для администраторов сайтов на Joomla 5?
Выпуск версии
5.4.10 завершает этап активной поддержки ветки 5.x. Начиная с этого момента и на протяжении следующего года для ветки 5.4 будут выходить только обновления безопасности. Для получения новых функций и развития проектов разработчики рекомендуют планировать обновление до
Joomla 6.2. 🛠 Что исправлено в Joomla 5.4.10:
✅ Веб-сервисы и API: устранены фатальные ошибки в PATCH-запросах веб-сервисов и скорректировано смещение дат по часовому поясу.
✅ Баннеры и права доступа: обеспечен корректный учет прав доступа (ACL) и статуса публикации категорий при выводе баннеров.
✅ Интерфейс и локализация: добавлена всплывающая подсказка (title) для кнопки сворачивания боковой панели, исправлено отображение символов
< и > в валидации логина и обработка ошибок синтаксиса языковых файлов при отладке.https://joomlaportal.ru/news/release-news/vyshel-reliz-joomla-5-4-10
#joomla #joomla5 #cms #релиз
👍2
Forwarded from Joomla Feed (Dmitrijs Rekuns)
🚀 Состоялся релиз Joomla 6.2 (Mwezi)!
Проект Joomla! объявил о выходе стабильной версии
✨ Что нового в Joomla 6.2?
✅ Обновления редактора TinyMCE: прямой вызов медиаменеджера при вставке медиафайлов, единое модальное окно выбора ссылок (для плагинов
✅ Контент и категории: раздельные поля CSS-классов для самих изображений и оберток
✅ Модули и навигация: возможность скрыть ссылки восстановления пароля и логина в модуле авторизации без переопределения шаблона, а также исправление работы многоуровневых выпадающих меню.
✅ Панель управления: группировка результатов быстрого поиска в списках Fancy Select (особенно удобно при назначении позиций модулей) и обновленная страница справки в едином стиле с темой Atum.
✅ Безопасность и установка: флаг обновлений безопасности для сторонних расширений (с подсветкой в панели управления), более детальная диагностика ошибок веб-установщика
✅ Электронная почта
Универсальная аутентификация XOAuth2 для отправки почты через SMTP (особенно актуально для Google Workspace и Microsoft 365).
⚠️ Как перейти на Joomla 6.2?
Переход с ветки
https://joomlaportal.ru/news/release-news/vyshel-reliz-joomla-6-2
#joomla #joomla6 #cms #релиз
Проект Joomla! объявил о выходе стабильной версии
Joomla 6.2. ✨ Что нового в Joomla 6.2?
✅ Обновления редактора TinyMCE: прямой вызов медиаменеджера при вставке медиафайлов, единое модальное окно выбора ссылок (для плагинов
editors-xtd), быстрая вставка разделителя «Подробнее» и применение системных фильтров текста Joomla по умолчанию.✅ Контент и категории: раздельные поля CSS-классов для самих изображений и оберток
<figure> (для вводного и полного изображения материала), поддержка картинок подкатегорий в списках и блогах, корректное отображение категорий с запланированными к публикации статьями. ✅ Модули и навигация: возможность скрыть ссылки восстановления пароля и логина в модуле авторизации без переопределения шаблона, а также исправление работы многоуровневых выпадающих меню.
✅ Панель управления: группировка результатов быстрого поиска в списках Fancy Select (особенно удобно при назначении позиций модулей) и обновленная страница справки в едином стиле с темой Atum.
✅ Безопасность и установка: флаг обновлений безопасности для сторонних расширений (с подсветкой в панели управления), более детальная диагностика ошибок веб-установщика
✅ Электронная почта
Универсальная аутентификация XOAuth2 для отправки почты через SMTP (особенно актуально для Google Workspace и Microsoft 365).
⚠️ Как перейти на Joomla 6.2?
Переход с ветки
Joomla 5.4 на Joomla 6.2 является обычным обновлением, а не сложной миграцией. Большинство расширений работает без проблем благодаря плагину Behaviour - Backward Compatibility 6. https://joomlaportal.ru/news/release-news/vyshel-reliz-joomla-6-2
#joomla #joomla6 #cms #релиз
👍4