Новости Joomla

Joomla 6: Автоматические обновления ядра в Joomla

Joomla 6: Автоматические обновления ядра в Joomla

👩‍💻 Joomla 6: Автоматические обновления ядра в Joomla. В октябрьском номере официального журнала Joomla - Joomla Community Magazine вышла статья David Jardin, где рассказывается о внедрении функционала автоматического обновления ядра Joomla.❓Почему сейчас? Joomla же жила как-то 20 лет без автоматических обновлений?Это оказалась самая востребованная за последнее время от пользователей Joomla функция. Но, основная причина внедрения - проблемы безопасности. Всякий раз, когда в новой версии Joomla устраняется уязвимость, злоумышленники начинают анализировать код, чтобы выяснить, какая именно уязвимость была исправлена. И как только они это выясняют - начинается разработка автоматизированных скриптов для взлома как можно большего количества сайтов. Затем доступы к автоматически взломанным сайтам продаются в профильных чатах и ресурсах "пачками" по несколько сотен тысяч или миллионов сайтов. Ваш сайт могли взломать несколько лет назад, но воспользоваться уязвимостью могут не сразу, а тогда, когда у злоумышленников возникнет необходимость. И только после этого вы может быть узнаете об этом.Анализ патча, понимание проблемы и разработка скрипта требуют времени. И если владелец сайта не обновит его до истечения этого срока, сайт может быть взломан. А хакеры действуют быстро! Для критических, легко эксплуатируемых уязвимостей речь идёт о временном окне в 10–12 часов — и этого времени явно недостаточно, чтобы все успели обновить свои сайты.Здесь выходят на первый план автоматизированные обновления: проект Joomla теперь может активно устанавливать обновления (и, следовательно, исправления безопасности) на сайты, чтобы гарантировать, что сайты действительно обновляются вовремя.🕘 От первых идей до реализации прошло 5 лет. И здесь можно вспомнить, как в Joomla 5.1 внедрили TUF - The Update Framework, позволяющий устанавливать защищённое соединение между сайтом и сервером обновлений и исключает возможность supply chain attack (атаки на цепочку поставок).Об особенностях реализации и требованиях к сайту читаем подробнее в статье на JCM.@joomlafeed#joomla #secutiry #jcm

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™. Интервью с волонтёрами 🎈Ну что, друзья, вот и настал этот долгожданный момент. Мы выпустили первое издание собственного журнала под эгидой NorrNext, который включает в себя интервью с видными деятелями сообщества из разных стран и континентов.Общий нарратив: показать, что нас объединяет (Joomla) и узнать больше о людях, которые вносят свой вклад в развитие платформы в своих сообществах. 20 лет — это много. Давайте же узнаем о коллегах 🎁 Первый цикл включает такие страны, как Австрия, Испания, Латвия, Россия, Румыния, Тайланд, Черногория, Чехия.⚙️ С кем интервью: ✔️ Владимир Елисеев 🇷🇺✔️ Дмитрий Рекун 🇱🇻✔️ Дмитрий Цымбал 🇷🇺✔️ Евгений Сивоконь 🇷🇺 ✔️ Сергей Толкачёв 🇷🇺✔️ Dénes Székely 🇷🇴✔️ Jan Pavelka 🇨🇿✔️ Miljan Vujosevic 🇲🇪✔️ Sergio Iglesias 🇪🇸✔️ Sigrid Gramlinger 🇦🇹✔️ Pisan Chueatchatchai 🇹🇭‼️ Новые интервью будут добавляться до конца декабря 2025. Заходите по ссылке время от времени💡👉 Читать далее

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

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Добрый день!

Подскажите пожалуйста, как сделать роутинг для профилей юзеров.
У меня есть компонент, он у меня выбран главной страницей, есть view "profile", и view в парсере всегда первый т.е. по ссылке: "сайт.ру/profile" открывается как раз таки профиль.

Вот мне нужно расширить этот роутинг чтобы по ссылке: "сайт.ру/profile/логин" отрывался уже другой пользователь.
Другими словами чтобы вариации:
index.php?option=com_component&view=profile&task=some&id=111&login=Super User
index.php?option=com_component&view=profile&login=Super User

Были эквивалентны:
/profile/Super User
« Последнее редактирование: 10.04.2019, 07:47:36 от interregional »
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: routing в компоненте для соц сетей
« Ответ #1 : 10.04.2019, 07:54:35 »
скидывайте ваш роутер - посмотрю. Только вот

Другими словами чтобы вариации:
index.php?option=com_component&view=profile&task=some&id=111&login=Super User
index.php?option=com_component&view=profile&login=Super User

Были эквивалентны:
/profile/Super User

во что же должен парситься /profile/Super User? в первый или второй набор параметров?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: routing в компоненте для соц сетей
« Ответ #2 : 10.04.2019, 08:27:54 »
Собственно оно у меня вроде как получилось...
Код
public function build(&$query)
{
$segments = array();
$view     = null;

if (isset($query['task']))
{
$taskParts  = explode('.', $query['task']);
$segments[] = implode('/', $taskParts);
$view       = $taskParts[0];
unset($query['task']);
}

if (isset($query['view']))
{
$segments[] = $query['view'];
$view = $query['view'];

unset($query['view']);
}

if (isset($query['id']))
{
if ($view !== null)
{
$segments[] = $query['id'];
}
else
{
$segments[] = $query['id'];
}

unset($query['id']);
}

if (isset($query['login']))
{
if ($view !== null)
{
$segments[] = $query['login'];
}
else
{
$segments[] = $query['login'];
}

unset($query['login']);
}

return $segments;
}

/**
* Parse method for URLs
* This method is meant to transform the human readable URL back into
* query parameters. It is only executed when SEF mode is switched on.
*
* @param   array  &$segments  The segments of the URL to parse.
*
* @return  array  The URL attributes to be used by the application.
*
* @since   3.3
*/
public function parse(&$segments)
{
$vars = array();

// View is always the first element of the array
$vars['view'] = array_shift($segments);
$model        = CabinetHelpersCabinet::getModel($vars['view']);

while (!empty($segments))
{
$segment = array_pop($segments);

// If it's the ID, let's put on the request

if ($vars['view'] == 'profile') {
$vars['login'] = $segment;
echo $segment;
}
else {
if (is_numeric($segment))
{
$vars['id'] = $segment;
}
else
{
$vars['task'] = $vars['view'] . '.' . $segment;
}
}
}

return $vars;
}

Но теперь я чувствую себя извращенцем, ибо чую что что-то тут не так сделал
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: routing в компоненте для соц сетей
« Ответ #4 : 10.04.2019, 09:01:01 »
Надергано из примеров? )

Так-то обычно говорят "лишь бы работало". Но билдер у вас будет дублить view при передаче task, а парсер... ну, если работает, то ладно )
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Загрузка и сохранение изображения в компоненте

Автор GuDeVic

Ответов: 16
Просмотров: 1899
Последний ответ 09.04.2018, 08:48:40
от averkiev
Удаление в самописном компоненте компоненте

Автор phpCoder

Ответов: 8
Просмотров: 1249
Последний ответ 25.11.2016, 09:09:56
от phpCoder
Как в компоненте Backend получить чистый экран без системного джумловского меню ?

Автор tm2010

Ответов: 30
Просмотров: 2550
Последний ответ 10.02.2016, 19:34:41
от Aleks.Denezh
Создание динамических полей в своем компоненте

Автор NeuroZ

Ответов: 14
Просмотров: 1753
Последний ответ 18.08.2015, 11:17:59
от b2z
Обработка данных в компоненте перед сохранением

Автор ipservice

Ответов: 2
Просмотров: 1475
Последний ответ 27.07.2015, 12:46:01
от ipservice