WebTolkRu
99 subscribers
618 photos
72 videos
2 files
643 links
Joomla-разработчик. Контрибьютер ядра Joomla. https://web-tolk.ru. Разработка Joomla на заказ. Также пишу в @JoomlaFeed.
@sergeytolkachyov Хабр: https://habr.com/ru/users/sergeytolkachyov/posts/
Download Telegram
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 Фильтр расширений Joomla: основное (ядро) и стороннее.

В полном списке расширений (раздел Система -> Расширения -> Управление) был замечен фильтр расширений: "основное - сторонее". Этот фильтр позволяет быстро посмотреть какие сторонние расширения числятся в Joomla, что особенно полезно в свете участившихся в последнее время проверок на прочность Joomla-сайтов.

@joomlafeed

#joomla
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3💯1
/
👍1
🚨 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).

❌ Как делать НЕЛЬЗЯ (уязвимый код):

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
🙏1
Обновление плагинов оплаты ЮKassa для RadicalMart и Phoca Cart 💳

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

📌 ЮKassa для RadicalMart 2.2.0
— Обеспечение совместимости с Joomla 6
Страница плагина

📌 ЮKassa для Phoca Cart 2.0.3
— Исправление ошибки округления цены со скидкой
— Обеспечение совместимости с Joomla 6
Страница плагина

ЮKassa (ранее Яндекс Касса) — один из самых популярных в России сервисов для приема платежей в интернет-магазинах и онлайн-школах. Предлагается Сбером в качестве Интернет-эквайринга для сайтов.

Новые клиенты могут получить премиум тариф со ставками 2,8% по методам: банковские карты, SberPay, кошелек ЮMoney, Alfa Pay и «Покупки в кредит» от СберБанка без ограничений по сроку.


Ну что же, гештальт закрыт ☀️
👍2
Не всё, что можно автоматизировать, стоит автоматизировать.
Интересные мысли здесь, и сам автор интересный.
Недавно я прочитал в Aeon эссе про skill nostalgia, тоску по навыку и ремеслу. По работе, где человек не просто выполняет операцию, а постепенно становится мастером. И вдруг увидел, что эта тоска сегодня повсюду: люди снова хотят печь хлеб, крутить керамику, писать от руки, снимать на плёнку, чинить вещи своими руками.
Со стороны это выглядит как мода на медленную жизнь. Но за этим стоит чувство поглубже: человеку не хватает работы, в которой он сам становится лучше.
Цифровая среда чаще устроена наоборот. Она дробит работу на короткие операции, съедает длинное внимание, ускоряет переключения и превращает меня в диспетчера процессов. ИИ эту тенденцию может разогнать до предела. Он убирает рутину, и это прекрасно. Но он же убирает сопротивление, через которое растёт навык, и вот это уже опасно.


https://pimenov.ai/articles/ne-vsyo-stoit-avtomatizirovat/

#ии
Сегодня планируется релиз безопасности RO CSVI. Готовимся.

@webtolkru

#joomla
👍2
👩‍💻 WT Yandex map items v.2.3.4.

Модуль выводит метки из различных компонентов на Яндекс.Карты. На данный момент выводятся только материалы Joomla. Используется API 3.0 Яндекс.Карт. Поддерживается Joomla 5 и старше.

👉 v.2.3.4. Что нового?
Стандартные всплывающие окна переведены на новый UI Яндекс.Карт. На мобильных устройствах они открываются как нижняя фиксированная панель и не выходят за пределы экрана; стили вынесены в CSS-классы и переменные для переопределения в шаблоне.


Страница расширения

@webtolkru

#joomla #yandex #яндекс #яндекскарты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Фавиконки в шаблоне Joomla 6 - метод addHeadLink().

Давно я таким не занимался, а тут пришлось. Нередко сеошники измудряются и добавляют иконки как только могут, стараясь добиться результата. В то время как в Joomla есть прекрасный и понятный механизм добавления фавиконок - метод addHeadLink() в шаблоне.

$this->addHeadLink(
href: '/favicon.svg',
relation: 'icon',
relType: 'rel',
attribs: [
'type' => 'image/svg+xml',
'sizes' => 'any',
]
);

$this->addHeadLink(
href: '/favicons/favicon-32x32.png',
relation: 'icon',
relType: 'rel',
attribs: [
'type' => 'image/png',
'sizes' => '32x32',
]
);

$this->addHeadLink(
href: '/favicons/favicon-16x16.png',
relation: 'icon',
relType: 'rel',
attribs: [
'type' => 'image/png',
'sizes' => '16x16',
]
);

$this->addHeadLink(
href: '/favicons/apple-touch-icon.png',
relation: 'apple-touch-icon',
relType: 'rel',
attribs: [
'sizes' => '180x180',
]
);

$this->addHeadLink(
href: '/favicon.ico',
relation: 'icon',
relType: 'rel',
attribs: [
'type' => 'image/vnd.microsoft.icon',
]
);

$this->addHeadLink(
href: '/site.webmanifest',
relation: 'manifest',
relType: 'rel'
);

В PHP 8+ удобно использовать именованные аргументы и тогда сразу всё встаёт на свои места и становится понятно что за аргумент и зачем он нужен.
Традиционно Joomla собирает массивы в атрибуты, где ключ массива - это имя атрибута, а значение массива становится массивом атрибута. Удобно.

@webtolkru

#joomla #шаблоны #вёрстка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Ужасть... 3 недели обсуждения в одном чате.

@webtolkru

#ai
👍2
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 Grafida - декстопный клиент для работы с материалами Joomla.

Это приложение для Windows / MacOS / Linux для того, чтобы работать с Joomla не заходя в браузер. Поддерживается неограниченное количество сайтов. Также декларируется возможность работы с ИИ.

Grafida использует TinyMCE для работы, поэтому любители ядра Joomla почувствуют себя в своей тарелке сразу. Загрузка изображений и медиа-контента происходит так же в привычном интерфейсе.

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

Работать можно везде, не ожидая появления Wi-Fi. Пишите черновики статей в поезде, в кафе, в самолете или где угодно, где вас посетит вдохновение. Когда вы снова окажетесь в сети, просто синхронизируйте их с Joomla.

Приложение можно скачать с GitHub. Разработчик - греческая студия Joomla-разработки Akeeba.

🧐 Вообще это любопытное решение, но всегда важно, чтоб созданный инструмент поддерживался и развивался. Тогда на этот инструмент можно полагаться как на надёжный и рассчитывать на него как на долгосрочный. К примеру, на момент публикации данной заметки указано, что
This software does not work on Windows 11 Home.

Это скорее всего связано с тем, что в Windows 11 внедрена строгая проверка сертификатов издателей программного обеспечения. А для того, чтобы этот сертификат получить нужно заплатить Microsoft сумму, которая для Windows-разрабочтика в целом будет оправдана (ведь это же его хлеб). Но для веб-разработчика, который создал бесплатное Win-приложение скорее как эксперимент и пробовал силы ИИ-разработки, эти траты лишние. Поэтому на Win 11 оно работать не будет (или будет, но отключить проверки сертификатов нужно). Дело в том, что простые пользователи, для которых оно создано - не будут разбираться, скорее всего, в этих тонкостях и этим потенциальная аудитория приложения сразу ограничивается.

Ссылки:
- Новость на сайте разработчика
- Статья в блоге Брайна Тимена (ко-фаундер Joomla)
- GitHub приложения

@joomlafeed

#joomla
Please open Telegram to view this post
VIEW IN TELEGRAM
🔐 Сертификаты Минцифры без головной боли: новый скрипт для пользователей RISH

Российские банки и интернет-сервисы постепенно переходят на TLS-сертификаты Национального удостоверяющего центра Минцифры.

Если сервер не доверяет этой цепочке, соединение оборвётся ещё до обращения к API. В результате могут перестать работать регистрация платежей, проверка статусов, возвраты и запросы ботов к MAX. В журналах при этом появятся ошибки вроде certificate verify failed.

🔐 Мы позаботились о пользователях RISH!

Теперь вам не нужно ломать голову над тем, как установить сертификаты Минцифры на сервер с AlmaLinux.

Мы создали специальный скрипт RISH, который возьмёт всю техническую работу на себя:
— проверит системное хранилище сертификатов;
— скачает официальный набор;
— проверит сроки действия и SHA-256-отпечатки;
— определит, каких сертификатов не хватает;
— протестирует соединения с Альфа-Банком, Т-Банком и MAX;
— после вашего подтверждения установит недостающие сертификаты и повторит проверку.

Никакой ручной распаковки архивов, поиска нужных файлов и разбирательств с цепочками доверия. Запускаете скрипт — и он всё делает за вас.

Подробности, инструкция и команда запуска — в нашей новой статье:

https://rish.su/rukovodstvo/sertifikaty-mintsifry-na-almalinux-i-rish-kak-proverit-i-ustanovit-na-vash-server
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
А тем временем, как-то незаметно на web-tolk.ru набежало 800к скачиваний расширений для #joomla

@webtolkru
🔥9👏1