Новости Joomla

‼️👩‍💻 Релиз безопасности Astroid 3.3.11 - шаблона-конструктора для Joomla.

‼️👩‍💻 Релиз безопасности Astroid 3.3.11 - шаблона-конструктора для Joomla.

14 часов назад (на момент публикации заметки) была обнаружена уязвимость в популярном шаблоне-конструкторе Astroid Framework. При атаке на сайт устанавливается бэкдор — системный плагин под названием plg_system_blpayload. Если вы обнаружили этот плагин на своем веб-сайте, значит, он скомпрометирован, и вам необходимо восстановить чистую резервную копию, созданную до установки плагина.

Уязвимость позволяет загружать файлы на сайт и в дальнейшем получить права администратора Joomla.
В рамках атаки (из-за которой и была обнаружена уязвимость) на сайт устанавливался плагин plg_system_blpayload, который при каждой загрузке страницы снаружи он скрытно связывается с (платформой для SEO, работающей на черном рынке (ссылку помещать не будем, просим поверить на слово). Получает список скрытых спам-ссылок (сайты азартных игр, фишинга, мошенничества), подобранный под ваш домен, затем внедряет эти ссылки в HTML-код вашей страницы непосредственно перед рендером - невидимые для посетителей, но полностью читаемые поисковыми роботами. Это называется "отравление SEO" ("отрпавление поисковой выдачи").

Однако, эта уязвимость может использоваться в других целях. Поэтому необходимо срочно проверить ваши сайты, где стоит Astroid Framework и обновить его до версии не ниже 3.3.11. Релиз безопасности выпущен 4 часа назад (на момент написания заметки).

Скачать релиз безопасности Astroid

@joomlafeed

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

zaboich

  • Осваиваюсь на форуме
  • 37
  • 11 / 0
Практически весь код Joomla комментирован в стандарте phpDocumentor. И большинство IDE для php разработки позволяют пользоваться его возможностями — быстрая подстановка доступных констант, переменных, методов, удобное определение уровней видимости и т. д.

Но, надо признать, что структура Joomla не самая удобная для работы с IDE.
Например, штатным методом получаем в контроллере компонента объект модели

Код: php
$model = $this->getModel();

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

А самый досадный для меня момент — файлы шаблона компонента /com_mycomp/views/item/tmpl/default.php
в них работа с переменной $this предполагается в контексте объекта mycompViewItem extends JviewLegacy.
Но как объяснить IDE, что $this — в этом файле, это тоже самое, что и в файле
/com_mycomp/views/item/view.html.php?

Что делать? Работать хочется комфортно, тем более что почти все условия созданы.

Вначале про контроллер и им подобные ситуации:
1. Можно в ручную подключить нужный файл и присвоить его переменной, это займет 2 строки:
Код: php
require_once JPATH_COMPONENT.'/models/item.php';
$model = new mycompModelItem();
и можно работать с моделью со всеми прелестями и возможностями IDE. (Правда надо уточнить параметры, из контроллера модель вызывается в конфигурации ignore_request). Кстати, думаю, что этот путь должен работать быстрее, чем
Код: php
$model = $this->getModel();

2. Но можно постараться получить тот же результат соблюдая стандарты Joomla.
Для этого достаточно после присвоения переменной дать DOC-блок, описывающий переменную
Код: php
$model = $this->getModel();
/* @var $model mycompModelItem() */


Возможно разные IDE ждут этот блок в разных форматах. Т.е. Где-то потребуются двойные звездочки /** **/, где-то вначале объявление типа, а потом имени переменной.
В NetBeans работает именно так.

Теперь про шаблон.
Аналогичным образом надо дать  DOC-блок в начале файла шаблона default.php
Код: php
<?php
defined('_JEXEC') or die('Restricted access');
/* @var $this mycompViewItem */

$this->loadTemplate('properties');

И сразу после этого $this будет дополняться всеми PUBLIC методами JViewLegacy (Joomla 3.x).
Но protected и private свойства и методы будут не доступны.
А например в  mycompViewItem были созданы
Код: php
protected $item;
protected $form;
И они не отображаются в IDE для $this.
Единственный способ, который я нашел — сделать их public. Это конечное не хорошо, но классов расширяющих  mycompViewItem не предполагается, поэтому такое отступление от стандартов будет не критичным.

Возможно у кого-то есть более удобные наработки или какие-то другие IDE более настраиваемые в этой части. Предлагаю поделиться опытом.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Да в таких случаях, к примеру, как
Код
$model = JModel::getInstance('Item', 'mycompModel');
кроме докблоков больше никак и не выйдешь из положения.
А для protected свойств можно использовать public геттеры.

Многие IDE имеют плагины поддержки конкретных фреймворков, которые учитывают их специфические особенности и улучшают "восприимчивость" IDE.
Но среди разработчиков плагинов видимо особо никто не уважает Joomla-фреймворк. По крайней мере в PhpStorm пока не видел таких.

Вроде в CodeLobster видел поддержку Joomla, но сама по себе IDE не понравилась.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Поддержу в PhpStorm могли бы сделать, если бы мы попросили. Но никто не хочет этим заниматься - Extended Joomla Support In Php Storm. За Drupal в свое время попросили и смотрите, поддержка есть.
*

migus

  • Давно я тут
  • 992
  • 144 / 0
  • OPEN THE BOX
Поддержу в PhpStorm могли бы сделать, если бы мы попросили. Но никто не хочет этим заниматься - Extended Joomla Support In Php Storm. За Drupal в свое время попросили и смотрите, поддержка есть.
Может кому-то еще интересно...
Вот тут с апреля 2014 висит запрос по Joomla!®  WI-22979 Joomla support - feature request
Кому не лень - проголосуйте, пожалуйста.
Справочно - для поддержки Drupal'a хватило всего 17 голосов.
"The Lord Of A SandBox"
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Плюсанул и отписался =)
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Посмотрим что будет, уже 6 плюсов есть.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Будем надеяться. Если эту тему будет видно, то только с форума можно несколько десятков набрать.
*

migus

  • Давно я тут
  • 992
  • 144 / 0
  • OPEN THE BOX
Такими темпами точно скоро наберём  ^-^

@moderators
Может создать отдельную тему?
Думаю, есть смысл обсудить "хотелки" по интеграции, чтобы набрать материал для roadmap'a.
"The Lord Of A SandBox"
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Условия отображения для конкретной группы пользователей Joomla 3.4.x

Автор dmik

Ответов: 15
Просмотров: 3829
Последний ответ 29.05.2020, 22:42:15
от voland
Подключить Joomla Framework в своем файле

Автор kolhoz

Ответов: 1
Просмотров: 2064
Последний ответ 06.12.2017, 17:15:42
от Aleks.Denezh
Переделать запросы к БД под Joomla

Автор Glog

Ответов: 3
Просмотров: 1727
Последний ответ 03.07.2017, 17:53:28
от Glog
Поддержка Joomla в PhpStorm

Автор b2z

Ответов: 51
Просмотров: 12051
Последний ответ 28.12.2016, 23:31:39
от b2z
Joomla search tools

Автор jitendra

Ответов: 2
Просмотров: 1610
Последний ответ 15.12.2016, 17:13:15
от jitendra