Новости 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 Гость просматривают эту тему.
  • 2 Ответов
  • 1492 Просмотров
*

IngvarChijek

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Добрый день. очень долго долблюсь над следующей проблемой:

- Раньше <meta name="robots" content="index, follow" />  на сайте нормально отображался, я мог управлять значениями "index, follow, noindex, nofollow" с помощью Tag meta manаger'а.

- Но после вмешательства сторонних разработчиков ситуация поменялась. Они взяли и прибили намертво <meta name="robots" content="index, follow" />  ко всем страницам, то есть теперь нельзя менять значения.... и поставить для нужных страниц: noindex, nofollow.

- ВОПРОС:  Подскажите пожалуйста, в каком файле можно убрать это недоразумение, а именно намертво прибитое значение <meta name="robots" content="index, follow" />  по-умолчанию?

Пересмотрел много здесь: /libraries/joomla/document/html/renderer. Решения не нашел.
*

arma

  • Завсегдатай
  • 1752
  • 81 / 3
Лично я "прибивал" бы этот тег в индексном файле шаблона, где он - зависит от шаблона... 
*

IngvarChijek

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
В индексном файле не нашел ничего связанного с robots:


Код
<?php
defined('_JEXEC') or die;
JHtml::_('behavior.framework', true);
$app = JFactory::getApplication();
$tmpl_logo = $this->params->get('logo');
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
  jQuery.noConflict();
  jQuery(function($) {
    if ($(window).width() < 768) {
      $('.hidden-phone').remove();
    } else {
      $('.visible-phone').remove();
    }
  });
  </script>
  <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/js/bootstrap.js"></script>
  <jdoc:include type="head" />   
    <link href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/favicon.ico" rel="icon" type="image/x-icon" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/bootstrap.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" />
 
  <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-37294268-1', 'epil24.ru');
  ga('send', 'pageview');

</script>
  </head>
<body>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-TMV2RR"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TMV2RR');</script>
<!-- End Google Tag Manager --> 

<!-- начало шапки -->
<div class="container-fluid">
   <div class="row-fluid">
      <div class="span12">
         <div class="hidden-phone header">
            <div class="row-fluid">
                <div class="span4">
                    <jdoc:include type="modules" name="headtop" style="xhtml" />
                </div>
                <div class="span3 logo">
                    <?php if ($tmpl_logo) : ?>
                         <a href="/" ><img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($tmpl_logo);?>" alt="Kopirovalnya"/></a>
                    <?php endif;?>
                </div>
                <div class="span5">
                  <jdoc:include type="modules" name="headright" style="xhtml" />
                </div>
            </div>
            <div class="row-fluid">
                <div class="span12">
                    <jdoc:include type="modules" name="topmenu" style="none" />
                </div>
            </div>         
         </div>
         <div class="visible-phone">
            <div class="row-fluid">
                <div class="span12 logo">
                    <?php if ($tmpl_logo) : ?>
                         <a href="/" ><img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($tmpl_logo);?>" alt="Kopirovalnya"/></a>
                    <?php endif;?>
                </div>
                <div class="row-fluid">
                    <div class="span12">
                        <jdoc:include type="modules" name="headtop-mobile" style="xhtml" />
                    </div>
                </div>
                <div class="row-fluid">
                    <div class="span12">
                        <jdoc:include type="modules" name="headcall-mobile" style="xhtml" />
                    </div>
                </div>
                <div class="row-fluid">
                    <div class="span12">
                        <jdoc:include type="modules" name="headright-mobile" style="xhtml" />
                    </div>
                </div>
               
            </div>
            <div class="row-fluid">
                <div class="span12">
                   <a class="padding-right mobile-padding dropdown-toggle pull-right" data-toggle="collapse" data-target=".nav-collapse"><button class="btn"><i class="icon-align-justify"></i></button></a>
            </div>
            <div class="nav-collapse collapse">
                <div class="nav mobilemenu">
                    <div class="center">
                        <jdoc:include type="modules" name="topmenu" style="none" />
                    </div>
                </div>
                </div>
            </div>         
         </div>
      </div>
   </div>
</div>
<!-- конец шапки -->
<!-- Начало контента -->
<div class="container-fluid">
  <div class="row-fluid">
    <div class="span12 content">
        <div class="hidden-phone">
            <div class="row-fluid menu">
                 <div class="span12">
                        <jdoc:include type="modules" name="breadcrumbs" style="none" />
                </div>
            </div>
        </div>
        <div class="visible-phone">
            <div class="row-fluid menu">
                 <div class="span12">
                        <jdoc:include type="modules" name="breadcrumbs" style="none" />
                </div>
            </div>
        </div>
<div class="row-fluid">
  <?php if ($this->countModules('left and right')) : //если есть модули в обоих позициях ?>
  <div class="hidden-phone">
      <div class="span12">
        <div class="span3 padding-top">
          <jdoc:include type="modules" name="left" style="xhtml"/>
        </div>
        <div class="span6">
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="modules" name="content-top" />
                  <jdoc:include type="component" />
              </div>
          </div>       
        <div class="span3 padding-right padding-top">
          <jdoc:include type="modules" name="right" style="xhtml"/>
        </div>
      </div>
  </div>
  <div class="visible-phone">
    <div class="row-fluid">
        <div class="span12">
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="component" />
              </div>
          </div>       
       
      </div>
    </div>
     
  </div>
  <?php elseif ($this->countModules('left')) : //иначе если есть модули только в позиции left ?>
  <div class="hidden-phone">
      <div class="span12">
        <div class="span3">
            <jdoc:include type="modules" name="left" style="xhtml" />
        </div>
        <div class="span9">               
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="modules" name="content-top" />
                  <?php //if (JUri::getInstance()->toString() == JUri::base()) { ?>
                    <div class="tab1">
          <?php
          jimport('joomla.html.pane');
          $myTabs = JPane::getInstance('tabs', array('startOffset' => 3));
          $output = '';
          $output .= $myTabs->startPane('pane');
 
          $output .= $myTabs->startPanel('Скидки и акции', 'tab1_1');
          $output .= '<jdoc:include type="modules" name="tab3" style="xhtml"/>';
          $output .= $myTabs->endPanel();
 
          $output .= $myTabs->startPanel('Топ продаж', 'tab1_2');
          $output .= '<jdoc:include type="modules" name="tab2" style="xhtml"/>';
          $output .= $myTabs->endPanel();
         
          $output .= $myTabs->startPanel('Новинки', 'tab1_3');
          $output .= '<jdoc:include type="modules" name="tab1" style="xhtml"/>';
          $output .= $myTabs->endPanel();     
 
          $output .= $myTabs->endPane();
          echo $output;
          ?>
                    </div>
                    <?php //} ?>
                  <jdoc:include type="modules" name="content-top2" />
                  <div class="clear"></div>
                  <jdoc:include type="component" />
              </div>
        </div>
      </div>
  </div>
  <div class="visible-phone">
      <div class="span12">
          <div class="row-fluid">
            <div class="span12">               
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="modules" name="content-top2" />
                  <div class="clear"></div>
                  <jdoc:include type="component" />
              </div>
        </div>
          </div>
       
      </div>
  </div>
  <?php elseif ($this->countModules('right')) : //иначе если есть модули в позиции right ?>
  <div class="hidden-phone">
      <div class="span12">
        <div class="span9">
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="modules" name="content-top" />
                  <jdoc:include type="component" />
              </div>
        </div>
        <div class="span3 padding-right">
          <jdoc:include type="modules" name="right" style="xhtml"/>
        </div>
      </div>
  </div>
  <div class="visible-phone">
    <div class="row-fluid">
        <div class="span12">
       
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="component" />
              </div>
        </div>
    </div>
     
       
      </div>
 
  <?php else : //ну и если нет модулей нигде то показываем контент на всю ширину ?>
  <div class="hidden-phone">
    <div class="span12">
          <div class="mainContent">
              <jdoc:include type="message" />
              <jdoc:include type="modules" name="content-top" />
              <jdoc:include type="component" />
          </div>
    </div>
  </div>
  <div class="visible-phone">
    <div class="span12">
          <div class="mainContent">
              <jdoc:include type="message" />
              <jdoc:include type="component" />
          </div>
    </div>
  </div>
  <?php endif; ?>
  </div>
  </div>
</div>
<?php //if (JUri::getInstance()->toString() == JUri::base()) { ?>
  <script type="text/javascript">
        window.addEvent('domready', function() {
      $$('dl.tabs dt').each(function(el){
        el.removeClass('open');
        el.removeClass('closed');
        el.addClass('closed');

        if (el.className == 'tab1_3 closed') {
          el.addClass('open');
        }
       
        if (el.className == 'tab2_1 closed') {
          el.addClass('open');
        }
      });
     
      $$('.tab2 .current dd').each(function(el){
        el.setStyle('display', 'none');
      });
     
      $$('.tab2 .current dd')[0].setStyle('display', 'block');
    });

    </script>
    <div class="tab2">
  <?php
  $myTabs2 = JPane::getInstance('tabs', array('startOffset' => 0));
  $output = '';
  $output .= $myTabs2->startPane('pane2');
 
  $output .= $myTabs2->startPanel('Новости компании', 'tab2_1');
  $output .= '<jdoc:include type="modules" name="tab4" style="xhtml" />';
  $output .= $myTabs2->endPanel();
 
  $output .= $myTabs2->startPanel('Шугаринг это...', 'tab2_2');
  $output .= '<jdoc:include type="modules" name="tab5" style="xhtml" />';
  $output .= $myTabs2->endPanel();
         
  $output .= $myTabs2->startPanel('Выбор пасты', 'tab2_3');
  $output .= '<jdoc:include type="modules" name="tab6" style="xhtml" />';
  $output .= $myTabs2->endPanel();
 
  $output .= $myTabs2->startPanel('Воск или шугаринг', 'tab2_4');
  $output .= '<jdoc:include type="modules" name="tab7" style="xhtml" />';
  $output .= $myTabs2->endPanel(); 
 
  $output .= $myTabs2->endPane();
  echo $output;
  ?>
  </div>
<?php //} ?>
<!-- Конец контента -->
<!-- Начало футера -->
<div class="container-fluid">
   <div class="row-fluid">
      <div class="span12">
         <div class="hidden-phone footer">
            <div class="row-fluid">
                <div class="span12 footer">
                    <jdoc:include type="modules" name="footer" />
                </div>
            </div>
            <div class="row-fluid">
                <div class="span4">
                    <jdoc:include type="modules" name="footer-left" />
                </div>
                <div class="span4">
                    <jdoc:include type="modules" name="footer-center" />
                </div>
                <div class="span4">
                    <jdoc:include type="modules" name="footer-right" />
                </div>
            </div>
         </div>
         <div class="visible-phone footer">
            <div class="row-fluid">
                <div class="span12 footer">
                    <jdoc:include type="modules" name="footer" />
                </div>
            </div>
            <div class="row-fluid">
                <div class="span12">
                    <jdoc:include type="modules" name="footer-left" />
                </div>
            </div>
            <div class="row-fluid">
                <div class="span12">
                    <jdoc:include type="modules" name="footer-center" />
                </div>
            </div>   
            <div class="row-fluid">
                <div class="span12">
                    <jdoc:include type="modules" name="footer-right" />
                </div>
            </div>       
         </div>
      </div>
   </div>
</div>
<!-- Конец футера -->



</body>
</html>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с логином на сайт через Iphone

Автор AdmiralSFF

Ответов: 4
Просмотров: 4098
Последний ответ 13.08.2022, 13:19:41
от AdmiralSFF
Мой файл robots на оценку

Автор Sovets365

Ответов: 0
Просмотров: 2283
Последний ответ 25.04.2022, 15:41:03
от Sovets365
Проблема с переносом Joomla сайта с хостинга на денвер

Автор 62411

Ответов: 4
Просмотров: 4646
Последний ответ 21.02.2022, 20:22:11
от arma
Проблема Adobe Flash Player

Автор MamontFirst

Ответов: 5
Просмотров: 2364
Последний ответ 23.01.2021, 21:25:23
от MamontFirst
Проблема с редактированием материалов

Автор olesya

Ответов: 15
Просмотров: 4365
Последний ответ 12.07.2020, 12:46:06
от NataliS