Новости Joomla

‼️ 👩‍💻 Обновление безопасности для Tassos Framework!

‼️ 👩‍💻 Обновление безопасности для Tassos Framework!

7 января 2026 года греческому разработчику Тассосу Мариносу сообщили об уязвимости в системном плагине Tassos Framework, который входит в состав его расширений для Joomla.

⚠️ Проблема затрагивает следующие расширения:
- Convert Forms - конструктор форм обратной связи для Joomla
- EngageBox - конструктор всплывающих окон для Joomla
- Google Structured Data - пакет плагинов микроразметки для Joomla
- Advanced Custom Fields - пакет плагинов пользовательских полей (видео-сервисы, карты и иже с ними)
- Smile Pack - пакет расширений
- MailChimp Auto-Subscribe

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

👉 Суть уязвимости.
Уязвимость заключалась в том, как плагин Tassos Framework обрабатывал определенные AJAX-запросы через com_ajaxточку входа Joomla. При определенных условиях внутренняя функциональность фреймворка могла быть вызвана без надлежащих ограничений.

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

При определенных обстоятельствах запросы к базе данных могли быть изменены для извлечения данных из базы данных Joomla. В совокупности эти возможности потенциально могли быть использованы для повышения уровня доступа и выполнения несанкционированного кода.

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

Немедленно обновите расширения до безопасных версий (Joomla 4/5/6 | Joomla 3):
- Convert Forms - v5.1.1 / v.4.1.1
- EngageBox - v.7.1.1 / v,6,3,9
- Google Structured Data - v.6.1.1 / v.5.6.9
- Advanced Custom Fields - v.3.1.1 / v.2.8.10
- Smile Pack - v.2.1.1 / v.1.2.4.
- MailChimp Auto-Subscribe - v.5.1.1+ / v.5.0.4

Все указанные версии включают в себя релиз безопасности плагина Tassos Framework System Plugin v6.0.62.

Если у вас установлено несколько расширений Tassos, достаточно обновить только одно, чтобы применить патч. Однако всегда рекомендуется обновлять все расширения.

@joomlafeed

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

Google Summer of Code (GSoC) - программа компании Google, которая позволяет участникам программы под руководством опытных наставников писать код для организаций, занимающейся открытым исходным кодом. Joomla принимает участие в этой программе не в первый раз и в 2026 году снова включена в список GSoC. Для программы утверждается список "идей", воплотить которые должны участники под руководством наставников.

Проекты Joomla в рамках программы GSoC 2026.

Проект I: Ajax-бэкенд.
- Действия в административной панели без необходимости обновлять страницу.
- Автоматическое сохранение содержимого во время редактирования.
- Расширенный фильтр - поиск и фильтрация по пользовательским полям.

Проект II: Автоматизация рабочих процессов (workflow + task scheduler).
Joomla имеет функцию процессов и планировщика задач. Теперь эти две функции следует объединить, чтобы пользователь мог настраивать назначенные рабочие процессы таким образом, чтобы переходы выполнялись автоматически, с возможностью точного определения времени. Должна быть возможность создавать циклы или прямые запланированные рабочие процессы. Предполагается, что интерфейс должен учитывать хороший пользовательский опыт, удобство использования и современные стандарты доступности. Ожидается, что будет добавлен интерфейс для управления процессами и их расписанием на страницах категорий и материалов. Так же ожидается, что сторонние компоненты также смогут воспользоваться этим функционалом.

Проект III: Мультикатегории.
В настоящее время Joomla! не позволяет назначать один элемент нескольким категориям. Хотя система тегов часто используется в качестве замены, существует острая потребность в нативной поддержке нескольких категорий, чтобы привести Joomla! в соответствие с другими современными системами управления контентом.

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

Принять участие GSoC 2026
Подробнее о проектах Joomla GSoC 2026
Чат GSoC в Mattermost (международное сообщество Joomla)

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 1874 Просмотров
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Доброго времени суток.

Решил завязать сайт с профилем Google+. Для этого реши сделать обычный контакт через com_contact.
Но возник вопрос - как разделить запрос выводящий поля "Название ссылки A + URL ссылки A" от остальных таких же полей.
Код: php
            <?php
   foreach(range('a', 'e') as $char) :// letters 'a' to 'e'
   $link = $this->contact->params->get('link'.$char);
   $label = $this->contact->params->get('link'.$char.'_name');

   if( ! $link) :
       continue;
   endif;

   // Add 'http://' if not present
   $link = (0 === strpos($link, 'http'))? $link : 'http://'.$link;

   // If no label is present, take the link
   $label = ($label)? $label : $link;
   ?>
<li>
<a target="_blank" href="<?php echo $link; ?>">
   <?php echo $label;  ?>
</a>
</li>
<?php endforeach; ?>







Для "URL ссылки A" нужно добавить rel="me" к <a target="_blank" href="<?php echo $link; ?>"> .
Но как при этом не затронуть остальные урлы ?

Спасибо.
« Последнее редактирование: 21.06.2012, 16:10:08 от ViktorMah »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Изменения default_links в com_contact
« Ответ #1 : 21.06.2012, 01:56:48 »
Код: php-brief
<?php
   foreach(range('a', 'e') as $char) :// letters 'a' to 'e'
   $link = $this->contact->params->get('link'.$char);
   $label = $this->contact->params->get('link'.$char.'_name');

   if( ! $link) :
       continue;
   endif;

   // Add 'http://' if not present
   $link = (0 === strpos($link, 'http'))? $link : 'http://'.$link;

   // If no label is present, take the link
   $label = ($label)? $label : $link;
   ?>
<li>
<a href="<?php echo $link; ?>" <?php if ($char=='a') echo 'rel="me" target="_blank" '; ?>>
   <?php echo $label;  ?>
</a>
</li>
<?php endforeach; ?>
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Re: Изменения default_links в com_contact
« Ответ #2 : 21.06.2012, 03:13:31 »
До чегоже всё просто оказалось.
Спасибо.
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
И ещё один вопросик по тойже  теме.
Шаблон статьи - "Автор выводится ссылкой" нужно к этой ссылке добавить - rel="author"
Код: php
<dd class="createdby">
<?php $author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author; ?>
<?php if (!empty($this->item->contactid) && $params->get('link_author') == true): ?>
<?php
$needle = 'index.php?option=com_contact&view=contact&id=' . $this->item->contactid;
$item = JSite::getMenu()->getItems('link', $needle, true);
$cntlink = !empty($item)? $needle . '&Itemid=' . $item->id : $needle;
?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', JRoute::_($cntlink), $author)); ?>
<?php else: ?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?>
<?php endif; ?>
</dd>
Держать в статьях внешнюю ссылку, пусть даже на Google, как-то не очень хочется
Спасибо
« Последнее редактирование: 21.06.2012, 04:10:35 от ViktorMah »
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Я понимаю, что rel="author" нужно вывести в

Код: php
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', JRoute::_($cntlink), $author)); ?>

а для этого необходимо переработать

Код: php
$needle = 'index.php?option=com_contact&view=contact&id=' . $this->item->contactid;

Но знаний да и фантазии не хватает, чтобы понять КАК  :'(
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Попробуй заменить вывод ссылки. К примеру так:
Код: php-brief
<?php echo '<a href="'.JRoute::_($cntlink).'" title="'.$author.'" rel="author">'.JText::_('COM_CONTENT_WRITTEN_BY').$author.'</a>'; ?>
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Спасибо, работает почти на все сто.
За исключением маленького огреха - %s перед именем автора.

Ваш вариант выводит фразу - Автор: %sИмяАвтора единой ссылкой.
я позволил себе немного изменить структуру

Код: php
<?php echo JText::_('COM_CONTENT_WRITTEN_BY').'<a href="'.JRoute::_($cntlink).'" title="'.$author.'" rel="author">'.$author.'</a>'; ?>
Так получилось полное соответствие структуры - Автор:=обычный текст, а имя автора ссылка

Но %s от этого не пропал. Запрятан он где-то здесь   JText::_('COM_CONTENT_WRITTEN_BY').      так как HTML код получается такой
Код: html4strict

<dd class="createdby">
Автор: %s
<a rel="author" title="Autor " href="/autor">Autor </a>
</dd>

*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Так замените вместо JText::_('COM_CONTENT_WRITTEN_BY') словом автор
или ищите в папке language определение текстового значения 'COM_CONTENT_WRITTEN_BY' и поменяйте как вам нужно
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Спасибо вам огромное Poznakomlus  :D :D :D
Совсем позабыл о том, что часто в языковых файлах применяют %S(по умолчанию на этом месте выводится переменная)
Удалил в language\ru-RU\ru-RU.com_content.ini строка 55
Код
Было
COM_CONTENT_WRITTEN_BY="Автор: %s"

стало
COM_CONTENT_WRITTEN_BY="Автор: "

На этом всё - привязка профиля Google+ к автору статей в Joomla используя страницу "КОНТАКТ пользователя"=страница Автора(Профиль) в компоненте КОНТАКТЫ прошла успешно.
 *DRINK*
« Последнее редактирование: 21.06.2012, 16:14:41 от ViktorMah »
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Вспомнил, что забыл поделиться как выводил ещё и даты создания/модификации/публикации
Всё в том же файле название_шаблона/html/com_content/article/default.php
находим блок:
Код: php
<?php if ($params->get('show_create_date')) : ?>
<dd class="create">
<?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON', JHtml::_('date',$this->item->created, JText::_('DATE_FORMAT_LC2'))); ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_modify_date')) : ?>
<dd class="modified">
<?php echo JText::sprintf('COM_CONTENT_LAST_UPDATED', JHtml::_('date',$this->item->modified, JText::_('DATE_FORMAT_LC2'))); ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_publish_date')) : ?>
<dd class="published">
<?php echo JText::sprintf('COM_CONTENT_PUBLISHED_DATE', JHtml::_('date',$this->item->publish_up, JText::_('DATE_FORMAT_LC2'))); ?>
</dd>
<?php endif; ?>

и заменил на:

Код: php
<?php if ($params->get('show_create_date')) : ?>
<dd class="create">
<?php echo JText::_('COM_CONTENT_CREATED_DATE_ON'). '<span itemprop="dateCreated">' . JHtml::_('date',$this->item->created, JText::_('DATE_FORMAT_LC2')). '</span>'; ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_modify_date')) : ?>
<dd class="modified">
<?php echo JText::_('COM_CONTENT_LAST_UPDATED'). '<span itemprop="dateModified">' . JHtml::_('date',$this->item->modified, JText::_('DATE_FORMAT_LC2')). '</span>'; ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_publish_date')) : ?>
<dd class="published">
<?php echo JText::_('COM_CONTENT_PUBLISHED_DATE'). '<span itemprop="datePublished">' . JHtml::_('date',$this->item->publish_up, JText::_('DATE_FORMAT_LC2')). '</span>'; ?>
</dd>
<?php endif; ?>
и также вносим правку в языковой переменной COM_CONTENT_CREATED_DATE_ON , COM_CONTENT_LAST_UPDATED , COM_CONTENT_PUBLISHED_DATE и  убираем %s

Спасибо вам огромное Poznakomlus
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Форма для добавления данных в Google Sheets

Автор zigzagrus

Ответов: 2
Просмотров: 2276
Последний ответ 07.11.2024, 12:03:12
от zigzagrus
[РЕШЕНО] Как в Joomla 2.5 автоматом удалять пользователей, не активировавшихся?

Автор pH43

Ответов: 2
Просмотров: 4605
Последний ответ 01.06.2020, 17:16:26
от pH43
В Google Chrome некорректно работает админка

Автор Dorotar

Ответов: 1
Просмотров: 1955
Последний ответ 09.02.2020, 10:49:15
от Dorotar
[Баг - не решено] Копировать пункт в другое меню с тем же алиасом?

Автор ELLE

Ответов: 104
Просмотров: 21483
Последний ответ 14.05.2019, 15:06:50
от voland
JoomShoping решено

Автор igor_kozovyi4

Ответов: 0
Просмотров: 1504
Последний ответ 08.12.2018, 23:06:25
от igor_kozovyi4