Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

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

web3.0

  • Захожу иногда
  • 349
  • 6 / 6
Глюк php
« : 23.10.2021, 10:30:18 »
Достала авторегистрация ботов:
/component/users/registration.html?Itemid=101
Капча Google установлена.
Сделал для одного IP подмену формы регистрации на сообщение. Все равно с через раз регистрация проходит. Как такое может быть, дыра в Joomla 3?
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Глюк php
« Ответ #1 : 23.10.2021, 11:36:57 »
Как такое может быть, дыра в Joomla 3?
Зависит от вашей версии Joomla 3 . Ведь указывают при обновлении безопасности Joomla, с какой версии Joomla уязвима . Попробуйте решение от @beagler , если не ошибаюсь
Код
	<?php // echo JHtml::_('form.token'); ?>
Заменить на JavaScript
Код
<script type="text/javascript">	
jQuery(function() {
jQuery("form.form-validate").append('<?php echo JHtml::_( 'form.token' ); ?>');
 });
</script>
*

web3.0

  • Захожу иногда
  • 349
  • 6 / 6
Re: Глюк php
« Ответ #2 : 23.10.2021, 19:59:32 »
draff, благодарю за подсказку.
Joomla 3.10.2 в шаблоне была отключена jQuery. 5 часов уже бот бьется головой о стену.
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
Re: Глюк php
« Ответ #3 : 23.10.2021, 21:48:09 »
draff, благодарю за подсказку.
Joomla 3.10.2 в шаблоне была отключена jQuery. 5 часов уже бот бьется головой о стену.
Если нужно совсем запретить регистрацию то попробуйте это:
Код
$input= JFactory::getApplication()->input;
if($input->getCMD('option','') == 'com_users' && in_array($input->getCMD('view',''),array('login','reset','registration'))) {
JFactory::getApplication()->redirect(JUri::base(), 'Данное действие запрещено', 'warning');
}
Вставить в index.php шаблона сайта после строчки:
Код
defined('_JEXEC') or die;
То же самое рекомендую сделать в файле component.php в шаблоне сайта, если он у Вас есть.
*

fsv

  • Живу я здесь
  • 2784
  • 412 / 2
Re: Глюк php
« Ответ #4 : 26.10.2021, 16:32:32 »
Если нужно совсем запретить регистрацию то попробуйте это:
Что делает ваш код? Просто не дает зайти на вьюшку с формой. Так боты вряд ли форму на сайте будут заполнять. На нужный URL данные шлются.
А если нужно совсем запретить регистрацию, то в настройках com_users просто кликнуть по радиокнопке.
Веб-разработка: заказ. Только новая разработка.
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
Re: Глюк php
« Ответ #5 : 27.10.2021, 03:11:11 »
Что делает ваш код? Просто не дает зайти на вьюшку с формой. Так боты вряд ли форму на сайте будут заполнять. На нужный URL данные шлются.
А если нужно совсем запретить регистрацию, то в настройках com_users просто кликнуть по радиокнопке.
Ну это один из примеров, вот так можно запретить поступление команды регистрации в контроллер
Код
$input= JFactory::getApplication()->input;
if($input->getCMD('option','') == 'com_users' && in_array($input->getCMD('task',''),array('register'))) {
JFactory::getApplication()->redirect(JUri::base(), 'Данное действие запрещено', 'warning');
}
Хотя по моему закрытия вьюхи хватает. (но это не точно)
« Последнее редактирование: 27.10.2021, 03:17:17 от SalityGEN »
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
Re: Глюк php
« Ответ #6 : 27.10.2021, 03:14:43 »
Что делает ваш код?
Слушает команды идущие на контроллер com_users, и если команды указанные в условии есть, то производит редирект на главную страницу с указанием ошибки
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Глюк admin в Joomla

Автор Малышка

Ответов: 9
Просмотров: 2541
Последний ответ 10.01.2013, 19:18:32
от Малышка