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

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
Здравствуйте!

При регистрации в VirtueMart поле Password перестало быть обязательным, т.е. если его не заполнять регистрация завершается успехом.

В настройках VM -> "Поля, заполняемые пользователями"  у поле Password отмечен параметр что данное поле является обязательным к заполнению.

На выходе в HTML у поля Password нет никаких required атрибутов и выглядит:
<input type="password" id="password_field" name="password" size="30" class="validate-password  inputbox" placeholder="Пароль" aria-invalid="false">

Для сравнение поле E-mail которое тоже обязательное имеет следующий вид:
<input type="email" id="email_field" name="email" size="30" value="" class="required validate-email" maxlength="100" placeholder="Электронная почта" aria-required="true" required="required">

Предпринимал следующее:

  • Отключил все доп. оформление, скрипты и все переопределенные шаблоны Virtuemart.
  • Отключил все дополнительные плагины и модули Virtuemart.
  • Сменил основной шаблон Joomla на стандартный.

Ничего не помогает, посоветуйте куда копать, в чем может быть проблема/причина?

Или посоветуйте как решить этот вопрос принудительно назначив этому полю параметр, что оно обязательно к заполнению.
Желательно иметь решение которое будет жить после обновлений, т.е. если вносить изменения в PHP, то в файлах которые можно переопределить.
Если нельзя только одному полю, то возможно решение чтобы обязательный параметр поверх штатных настроек добавлялся сразу для всех полей в данной форме т.к. они у меня все обязательные.

Благодарю за ответ!


Joomla! 3.9.26
VirtueMart 3.6.10


UPD

У меня установлен Yjsg Framework при его отключении поле Password даже без required атрибутов становится обязательным и не заполнив его - невозможно завершить регистрацию (выводится стандартное сообщение: "Некорректно заполнено поле: Пароль"), т.е. все начинает работать штатно.

В директории Yjsg Framework (plugins\system\yjsg\legacy\html\com_users\registration) есть переопределенный шаблон регистрации. Изменения в нем не влияют на форму регистрации VM, при этом  на другом сайте на  таком же Framework, но без установленного VirtueMart изменения в переопределенном шаблоне регистрации (который расположен в директории фреймворка), сразу же видны на сайте.

Попытка переопределить шаблон регистрации Joomla в директорию с шаблоном \templates\templat_name\html\com_users\registration не к чему не приводит, изменения в шаблоне не отображаются на сайте.


 
« Последнее редактирование: 29.05.2021, 14:06:45 от Slava77 »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Проверил на сайте клиента, поле не отмечено как и у вас, но не пропускает, выдает ошибку стандартную
Цитировать
Некорректно заполнено поле: Пароль
Некорректно заполнено поле: Повторить пароль
VirtueMart 3.8.2 10325
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
Не найдя решения, сделал временный костыль с помощью jquery

$('input[type="password"]').attr('required', 'required')

Поле Password стало обязательным, но в поле с label отсутствует asterisk/звездочка, извратится и добавить её с помощью jquery или CSS конечно можно, но хотелось бы более цивилизованно без костылей решить проблему ^-^

« Последнее редактирование: 29.05.2021, 13:38:37 от Slava77 »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
но в поле с label отсутствует asterisk/звездочка, извратится и добавить её с помощью jquery или CSS конечно можно, но хотелось бы более цивилизованно без костылей решить проблему
Переопределить макет
Код
<?php echo $field['title'] . ($field['required']  ? ' <span class="asterisk">*</span>' : '')?>
<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>
<span class="asterisk">*</span>'
<?php endif; ?>
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
Переопределить макет
Код
<?php echo $field['title'] . ($field['required']  ? ' <span class="asterisk">*</span>' : '')?>
<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>
<span class="asterisk">*</span>
<?php endif; ?>


Спасибо за рабочее решение со звездочкой!

Подскажите, а там же после строки:

<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>

Можно как нибудь добавить атрибут required="required" для поля "Password" ?
« Последнее редактирование: 29.05.2021, 18:13:03 от Slava77 »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Код
<td>
<?php
if($field['name'] == "password" || $field['name'] == "password2")  {
echo str_replace('type="password"', 'type="password" required="required" ' , $field['formcode']);
} else echo $field['formcode']; ?>
</td>
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
<?php
if($field['name'] == "password" || $field['name'] == "password2")  {
echo   str_replace('type="password"', 'type="password" required="required" ' , $field['formcode']);
} else echo $field['formcode']; ?>
</td>

Огромное спасибо за рабочее решение!

Я из первого примера строки:

<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>
<span class="asterisk"> *</span>


в label тоже отставил, т.к. после регистрации в личном кабинете, где отображаются поля пользователя не было звездочки не смотря на то, что в Password начал присутствовать required="required".
По логике должна была появиться звездочка в label,  но ее почему-то не было, сейчас все в порядке.   



В форме регистрации также все стало работать как и требовалось! Еще раз большое спасибо за помощь! *DRINK*
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Я из первого примера строки:

<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>
<span class="asterisk"> *</span>

в label тоже отставил,
Ну так и нужно вам. Просто на скрине файл с рабочего сайта, откуда я свой код удалил .
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
Ну так и нужно вам. Просто на скрине файл с рабочего сайта, откуда я свой код удалил .

Я просто думал, раз у поля Passoword появился атрибут required="required" и оно стало обязательным, то на него будет распространятся правило из этой строки и добавляться <span class="asterisk">*</span> :

<?php echo $field['title'] . ($field['required']  ? ' <span class="asterisk">*</span>' : '')?>

Но это почему-то не так  ^-^
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Попытка переопределить шаблон регистрации Joomla в директорию с шаблоном \templates\templat_name\html\com_users\registration не к чему не приводит, изменения в шаблоне не отображаются на сайте.
А сюда переопределить макет, файл со скрина, как я писал выше
templates\templat_name\html\com_virtuemart/user/
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
А сюда переопределить макет, файл со скрина, как я писал выше
templates\templat_name\html\com_virtuemart/user/
Это сделано и работает!   У меня вообще почти все шаблоны VM переопределены (корзина, карточка товара, категории, заказы, письма и т.д.) вот сюда templates\templat_name\html\com_virtuemart

Я тогда от безысходности в дебри уже полез пытался переопределить и поменять основную форму регистрации Joomla, но мой  Framework не позволял это сделать, у него свое более главное переопределение, а в переопределенных файлах внутри Framework  делать изменения нет смыла, он обновляется время от времени, все затрется.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться