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

yamenko

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

Мне необходимо сделать новую таблицу в другой базе данных сразу же после регистрации нового пользователя в Joomla 3.0, а также удалить ее если пользователь удалил свой аккаунт.

Нужно:
1. Подключиться к новой базе данных.
2. Добавить таблицу название которой совпадает с ID пользователя который присвоил ему Joomla.

Из этого следует:
1. Как получить сразу же этот ID?
2. Куда вставлять запрос на создание базы данных. (База будет отличаться от базы joomla).

PS никаких новых полей в форму регистрации вставлять не надо.

Заранее благодарен.
*

b2z

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

Это все очень легко делается с помощью плагина типа user. Вам нужно событие onUserAfterSave и onUserAfterDelete. Вот пример, как это сделано в плагине Profile.

И еще материал - подключение к другой базе данных.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Создать плагин в группе юзер и вам нужно два метода onUserAfterSave - после создания пользователя, и onUserAfterDelete - после удаления юзера
например:
Код: php
function onUserAfterSave( $data, $isNew, $result, $error ){
if($isNew){//коннектимся к новой базе и вставляем данные!}
}
в $data - данные о пользователе, $isNew - говорит о том что это новый пользователь !
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Создать плагин в группе юзер и вам нужно два метода onUserAfterSave - после создания пользователя, и onUserBeforeDelete - перед удалением
Перед удалением опасно, а если в базе Joomla произойдет сбой? Лучше убедиться, что удаление прошло успешно в базе Joomla, а потом уже удалять во внешней. Здесь лучше подходит onUserAfterDelete.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Перед удалением опасно, а если в базе Joomla произойдет сбой? Лучше убедиться, что удаление прошло успешно в базе Joomla, а потом уже удалять во внешней. Здесь лучше подходит onUserAfterDelete.
Дим а если после удаления произойдет сбой то данные тоже как бы не удалятся со второй базы )
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Дим а если после удаления произойдет сбой то данные тоже как бы не удалятся со второй базы )
Ну этот вариант лучше, так как внешняя база обычно вторична (имхо). Ну тут уже решать ТС, может у него приоритет у внешней базы.
*

yamenko

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Может еще подскажите документацию на русском с описанием команд, операторов и событий.


Заранее благодарен.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Может еще подскажите документацию на русском с описанием команд, операторов и событий.


Заранее благодарен.
Я Вам дал ссылку на документацию по плагинам. А что такое команды и операторы?
*

yamenko

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
onUserAfterSave ()
onUserBeforeDelete ()
onUseAfterDelete()


+ в примерах на сайте
JPluginHelper::importPlugin()
JLoader::import()

Вот где вы это берете..... кроме этого внутри еще какие-то параметры.... что за что отвечает?
где взять полный  список с описанием как на сайте php.su или htmlbook.ru 
хотелось бы разобраться подробнее...


« Последнее редактирование: 04.10.2013, 14:49:39 от yamenko »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Такой документации на русском не найдете (к сожалению). На английском есть чуть больше про плагины:
http://docs.joomla.org/Supporting_plugins_in_your_component
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Скорее всего нигде )
а зачем вам: JPluginHelper::importPlugin() и JLoader::import()?
вы же хотите что бы в стандартной регистрации после регистрации что то внеслось в другую таблицу?
так просто создаете плагин и у него один метод, я уже писал выше:
Код: php
function onUserAfterSave( $data, $isNew, $result, $error ){
if($isNew){//коннектимся к другой базе и вставляем данные!}
}
*

yamenko

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Тогда как будет выглядеть код если удалить пользователя:

Цитировать
function onUserAfterSave( $data, $isNew, $result, $error ){
if($isNew){//коннектимся к другой базе и вставляем данные!}
}
                                    ?
                                      | | |
                                     \/\/\/
onUserAfterDelete ($data, $isNew, $result, $error )

$isNew - тоже самое будет?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Тогда как будет выглядеть код если удалить пользователя:
вам же писали посмотреть плагин /plugins/user/profile/profile.php
Код: php
public function onUserAfterDelete($user, $success, $msg){
if (!$success)
{
return false;
}

$userId = JArrayHelper::getValue($user, 'id', 0, 'int');

if ($userId)
{
//удаляем данные в второй базе...
}

return true;
}
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
yamenko - может Вам еще и весь плагин написать? ;) Я дал Вам все ссылки, извините, но на русском их нет. На английском самая главная ссылка:
http://docs.joomla.org/Portal:Developers
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор dmik

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

Автор kolhoz

Ответов: 1
Просмотров: 2065
Последний ответ 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
Просмотров: 1611
Последний ответ 15.12.2016, 17:13:15
от jitendra